From 1fcb86507062f9923465cdf72e6b70c3a1cfe96b Mon Sep 17 00:00:00 2001 From: Paul Phillips Date: Fri, 26 Nov 2010 19:16:05 +0000 Subject: 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. --- test/pending/run/signals.scala | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 test/pending/run/signals.scala (limited to 'test') 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() -- cgit v1.2.3