summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2010-11-26 19:16:05 +0000
committerPaul Phillips <paulp@improving.org>2010-11-26 19:16:05 +0000
commit1fcb86507062f9923465cdf72e6b70c3a1cfe96b (patch)
tree0b9a713193a18a9dc47c054058ccba36e5fe218f /test
parent79ef52f9e374a6ef599cefebb878692b380ea755 (diff)
downloadscala-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')
-rw-r--r--test/pending/run/signals.scala22
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()