diff options
author | Paul Phillips <paulp@improving.org> | 2010-11-26 19:16:05 +0000 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2010-11-26 19:16:05 +0000 |
commit | 1fcb86507062f9923465cdf72e6b70c3a1cfe96b (patch) | |
tree | 0b9a713193a18a9dc47c054058ccba36e5fe218f /test/pending | |
parent | 79ef52f9e374a6ef599cefebb878692b380ea755 (diff) | |
download | scala-1fcb86507062f9923465cdf72e6b70c3a1cfe96b.tar.gz scala-1fcb86507062f9923465cdf72e6b70c3a1cfe96b.tar.bz2 scala-1fcb86507062f9923465cdf72e6b70c3a1cfe96b.zip |
A new totally safe signal manager, along with a...
A new totally safe signal manager, along with all the support code
needed for that. See the classes in scala.tools.reflect.* for
interesting new weapons. Also includes inaugural handy usage:
scala> val x = 10
x: Int = 10
scala> while (true) ()
[ctrl-C]
Execution interrupted by signal.
scala> x
res1: Int = 10
No review, but feedback welcome.
Diffstat (limited to 'test/pending')
-rw-r--r-- | test/pending/run/signals.scala | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/test/pending/run/signals.scala b/test/pending/run/signals.scala new file mode 100644 index 0000000000..608b3c7fd5 --- /dev/null +++ b/test/pending/run/signals.scala @@ -0,0 +1,22 @@ +// not exactly "pending", here as an example usage. +// +val manager = scala.tools.util.SignalManager + +manager.requireInterval(3, manager.INT) { + case true => Console.println("\nPress ctrl-C again to exit.") + case false => System.exit(1) +} + +manager("HUP") = println("HUP 1!") +manager("HUP").raise() + +manager("HUP") += println("HUP 2!") +manager("HUP").raise() + +manager("HUP") += println("HUP 3!") +manager("HUP").raise() + +manager("HUP") = println("Back to HUP 1!") +manager("HUP").raise() + +manager.dump() |