summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2011-07-28 18:14:09 +0000
committerPaul Phillips <paulp@improving.org>2011-07-28 18:14:09 +0000
commit900f7a8f5c056beb5041b8047d4d7aece11f580f (patch)
treee649cc62c512178a8c7f1ab2e4b0e2adfcbba768
parente0890be9a7bc74c3bdd38e26c60b11eb11a7a718 (diff)
downloadscala-900f7a8f5c056beb5041b8047d4d7aece11f580f.tar.gz
scala-900f7a8f5c056beb5041b8047d4d7aece11f580f.tar.bz2
scala-900f7a8f5c056beb5041b8047d4d7aece11f580f.zip
Remove sigint handler on repl exit as a sanity ...
Remove sigint handler on repl exit as a sanity check, no review.
-rw-r--r--src/compiler/scala/tools/nsc/interpreter/ILoop.scala1
-rw-r--r--src/compiler/scala/tools/nsc/interpreter/ILoopInit.scala3
2 files changed, 4 insertions, 0 deletions
diff --git a/src/compiler/scala/tools/nsc/interpreter/ILoop.scala b/src/compiler/scala/tools/nsc/interpreter/ILoop.scala
index 8ae4f9779a..2ff8bb343f 100644
--- a/src/compiler/scala/tools/nsc/interpreter/ILoop.scala
+++ b/src/compiler/scala/tools/nsc/interpreter/ILoop.scala
@@ -86,6 +86,7 @@ class ILoop(in0: Option[BufferedReader], protected val out: JPrintWriter)
if (intp ne null) {
intp.close
intp = null
+ removeSigIntHandler()
Thread.currentThread.setContextClassLoader(originalClassLoader)
}
}
diff --git a/src/compiler/scala/tools/nsc/interpreter/ILoopInit.scala b/src/compiler/scala/tools/nsc/interpreter/ILoopInit.scala
index f2171ad732..d711428d22 100644
--- a/src/compiler/scala/tools/nsc/interpreter/ILoopInit.scala
+++ b/src/compiler/scala/tools/nsc/interpreter/ILoopInit.scala
@@ -59,6 +59,9 @@ trait ILoopInit {
}
}
}
+ protected def removeSigIntHandler() {
+ SignalManager("INT") = null
+ }
private val initLock = new java.util.concurrent.locks.ReentrantLock()
private val initCompilerCondition = initLock.newCondition() // signal the compiler is initialized