diff options
author | Antonio Cunei <antonio.cunei@epfl.ch> | 2008-11-26 17:38:20 +0000 |
---|---|---|
committer | Antonio Cunei <antonio.cunei@epfl.ch> | 2008-11-26 17:38:20 +0000 |
commit | ed4693400b490334a90490d3557198cb10e3d923 (patch) | |
tree | ffa1d06319a9abbb13999432b7ada334213bd579 | |
parent | 23d69bfab51f06ef43b1d6c3c0b043ef26b1ec6a (diff) | |
download | scala-ed4693400b490334a90490d3557198cb10e3d923.tar.gz scala-ed4693400b490334a90490d3557198cb10e3d923.tar.bz2 scala-ed4693400b490334a90490d3557198cb10e3d923.zip |
fix for occasional fsc silent quitting
-rw-r--r-- | src/compiler/scala/tools/nsc/CompileSocket.scala | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/compiler/scala/tools/nsc/CompileSocket.scala b/src/compiler/scala/tools/nsc/CompileSocket.scala index c2aa60cd5c..eb747ff847 100644 --- a/src/compiler/scala/tools/nsc/CompileSocket.scala +++ b/src/compiler/scala/tools/nsc/CompileSocket.scala @@ -257,7 +257,18 @@ class CompileSocket { } def getPassword(port: Int): String = { - val f = new BufferedReader(new FileReader(portFile(port))) + val ff=portFile(port) + val f = new BufferedReader(new FileReader(ff)) + // allow some time for the server to start up + var retry=50 + while (ff.length()==0 && retry>0) { + Thread.sleep(100) + retry-=1 + } + if (ff.length()==0) { + ff.delete() + fatal("Unable to establish connection to server.") + } val result = f.readLine() f.close() result |