diff options
author | Antonio Cunei <antonio.cunei@epfl.ch> | 2008-10-15 15:52:53 +0000 |
---|---|---|
committer | Antonio Cunei <antonio.cunei@epfl.ch> | 2008-10-15 15:52:53 +0000 |
commit | acd4c9471dcccc1ba1e97d4e6f4f86323e52355f (patch) | |
tree | 645a55d42418f01024ac79f73b12b0a5e6044780 /src/compiler/scala/tools/util/SocketServer.scala | |
parent | d180b26e6ae7909d77ab4821150fecd0b9927e46 (diff) | |
download | scala-acd4c9471dcccc1ba1e97d4e6f4f86323e52355f.tar.gz scala-acd4c9471dcccc1ba1e97d4e6f4f86323e52355f.tar.bz2 scala-acd4c9471dcccc1ba1e97d4e6f4f86323e52355f.zip |
Partial fix for ticket #41.
If the fsc server is already running, multiple concurrent compilation
attempts will now succeed.
However, if no fsc server is running, all of the clients will try to
launch one at the same time, with somewhat unpleasant results.
Diffstat (limited to 'src/compiler/scala/tools/util/SocketServer.scala')
-rw-r--r-- | src/compiler/scala/tools/util/SocketServer.scala | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/compiler/scala/tools/util/SocketServer.scala b/src/compiler/scala/tools/util/SocketServer.scala index 5c3db29e18..3c311f1c53 100644 --- a/src/compiler/scala/tools/util/SocketServer.scala +++ b/src/compiler/scala/tools/util/SocketServer.scala @@ -47,13 +47,13 @@ abstract class SocketServer { } def run() { + val serverSocket = try { + new ServerSocket(port) + } catch { + case e: IOException => + fatal("Could not listen on port: " + port + "; exiting.") + } while (!shutDown) { - val serverSocket = try { - new ServerSocket(port) - } catch { - case e: IOException => - fatal("Could not listen on port: " + port + "; exiting.") - } val clientSocket = try { serverSocket.accept() } catch { @@ -73,8 +73,8 @@ abstract class SocketServer { out.close() in.close() clientSocket.close() - serverSocket.close() } + serverSocket.close() } } |