diff options
Diffstat (limited to 'src/compiler/scala/tools/nsc/util/package.scala')
-rw-r--r-- | src/compiler/scala/tools/nsc/util/package.scala | 24 |
1 files changed, 2 insertions, 22 deletions
diff --git a/src/compiler/scala/tools/nsc/util/package.scala b/src/compiler/scala/tools/nsc/util/package.scala index 800cb75b97..b61f3751b9 100644 --- a/src/compiler/scala/tools/nsc/util/package.scala +++ b/src/compiler/scala/tools/nsc/util/package.scala @@ -13,33 +13,13 @@ package object util { /** Apply a function and return the passed value */ def returning[T](x: T)(f: T => Unit): T = { f(x) ; x } - /** Register a shutdown hook to be run when the jvm exits. - * Marks it as daemon so it doesn't interfere with shutdown, - * but the thread is returned so it can be modified. - */ - def addShutdownHook(body: => Unit) = { - returning(new Thread { override def run { body } }) { t => - t setDaemon true - Runtime.getRuntime addShutdownHook t - } - } - - /** All living threads. */ - def allThreads(): List[Thread] = { - val num = Thread.activeCount() - val tarray = new Array[Thread](num) - val got = Thread.enumerate(tarray) - - tarray take got toList - } - /** Execute code and then wait for all Threads created during its * execution to complete. */ def waitingForThreads[T](body: => T) = { - val ts1 = allThreads() + val ts1 = system.allThreads() val result = body - val ts2 = allThreads() + val ts2 = system.allThreads() val newThreads = ts2.toSet -- ts1 filterNot (_.isDaemon()) newThreads foreach (_.join()) |