summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/util/SocketServer.scala
diff options
context:
space:
mode:
authorTeemu Lehtinen <teemu.t.lehtinen@aalto.fi>2014-08-20 13:20:41 +0300
committerTeemu Lehtinen <teemu.t.lehtinen@aalto.fi>2014-10-13 23:50:29 +0300
commit7daecd8eacdc293f9113d4749f46e874d8eee01b (patch)
tree0d4529b1bc32c3baec8e3538c688557f5b50cb0e /src/compiler/scala/tools/util/SocketServer.scala
parent8d25e84c9123fe9784ec9844b5184aa1b697b429 (diff)
downloadscala-7daecd8eacdc293f9113d4749f46e874d8eee01b.tar.gz
scala-7daecd8eacdc293f9113d4749f46e874d8eee01b.tar.bz2
scala-7daecd8eacdc293f9113d4749f46e874d8eee01b.zip
Add option -port to fsc
Option "port" limits compile server lookup and start to given port. Normally fsc will start a compile server in a random port if no server is yet running. This can be problematic with firewalls and/or remote compile servers. Option "port" should not be confused with option "server" which looks for a compile server in given host and port and fails if such server is not found. Automatic tests for command line user interface do not exist at all. Thus, adding a test for one new option would require designing a whole new testing method.
Diffstat (limited to 'src/compiler/scala/tools/util/SocketServer.scala')
-rw-r--r--src/compiler/scala/tools/util/SocketServer.scala4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/compiler/scala/tools/util/SocketServer.scala b/src/compiler/scala/tools/util/SocketServer.scala
index 1d39a59cf4..7858bf0658 100644
--- a/src/compiler/scala/tools/util/SocketServer.scala
+++ b/src/compiler/scala/tools/util/SocketServer.scala
@@ -28,12 +28,12 @@ trait CompileOutputCommon {
* @author Martin Odersky
* @version 1.0
*/
-abstract class SocketServer extends CompileOutputCommon {
+abstract class SocketServer(fixPort: Int = 0) extends CompileOutputCommon {
def shutdown: Boolean
def session(): Unit
def timeout(): Unit = () // called after a timeout is detected for subclasses to cleanup
// a hook for subclasses
- protected def createServerSocket(): ServerSocket = new ServerSocket(0)
+ protected def createServerSocket(): ServerSocket = new ServerSocket(fixPort)
var in: BufferedReader = _
var out: PrintWriter = _