summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc/CompileSocket.scala
diff options
context:
space:
mode:
authorAntonio Cunei <antonio.cunei@epfl.ch>2008-11-26 17:38:20 +0000
committerAntonio Cunei <antonio.cunei@epfl.ch>2008-11-26 17:38:20 +0000
commited4693400b490334a90490d3557198cb10e3d923 (patch)
treeffa1d06319a9abbb13999432b7ada334213bd579 /src/compiler/scala/tools/nsc/CompileSocket.scala
parent23d69bfab51f06ef43b1d6c3c0b043ef26b1ec6a (diff)
downloadscala-ed4693400b490334a90490d3557198cb10e3d923.tar.gz
scala-ed4693400b490334a90490d3557198cb10e3d923.tar.bz2
scala-ed4693400b490334a90490d3557198cb10e3d923.zip
fix for occasional fsc silent quitting
Diffstat (limited to 'src/compiler/scala/tools/nsc/CompileSocket.scala')
-rw-r--r--src/compiler/scala/tools/nsc/CompileSocket.scala13
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