summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLi Haoyi <haoyi.sg@gmail.com>2018-02-24 21:03:58 -0800
committerLi Haoyi <haoyi.sg@gmail.com>2018-02-24 21:03:58 -0800
commit880037447664511bf430050d6709a30bec728437 (patch)
treeab08dc8c805ed894d0a3081fd9f1de4cb6fbaea6
parent0768db2c44952ff97348f5b1aebfd423ca868b33 (diff)
downloadmill-880037447664511bf430050d6709a30bec728437.tar.gz
mill-880037447664511bf430050d6709a30bec728437.tar.bz2
mill-880037447664511bf430050d6709a30bec728437.zip
Fix `-w` using the new client-server mode
-rw-r--r--clientserver/src/mill/clientserver/Server.scala4
-rw-r--r--main/src/mill/Main.scala6
-rw-r--r--main/src/mill/main/MainRunner.scala6
3 files changed, 4 insertions, 12 deletions
diff --git a/clientserver/src/mill/clientserver/Server.scala b/clientserver/src/mill/clientserver/Server.scala
index de8097fb..2b8ad39f 100644
--- a/clientserver/src/mill/clientserver/Server.scala
+++ b/clientserver/src/mill/clientserver/Server.scala
@@ -19,7 +19,6 @@ trait ServerMain[T]{
def main0(args: Array[String],
stateCache: Option[T],
mainInteractive: Boolean,
- watchInterrupted: () => Boolean,
stdin: InputStream,
stdout: PrintStream,
stderr: PrintStream): (Boolean, Option[T])
@@ -73,7 +72,6 @@ class Server[T](lockBase: String,
args,
sm.stateCache,
interactive,
- () => !locks.clientLock.probe(),
socketIn,
stdout, stderr
)
@@ -98,6 +96,8 @@ class Server[T](lockBase: String,
Thread.sleep(3)
}
+ if (!done) interruptServer()
+
t.interrupt()
t.stop()
clientSocket.close()
diff --git a/main/src/mill/Main.scala b/main/src/mill/Main.scala
index d6a908d3..ef6cfc11 100644
--- a/main/src/mill/Main.scala
+++ b/main/src/mill/Main.scala
@@ -66,14 +66,12 @@ object ServerMain extends mill.clientserver.ServerMain[Evaluator.State]{
def main0(args: Array[String],
stateCache: Option[Evaluator.State],
mainInteractive: Boolean,
- watchInterrupted: () => Boolean,
stdin: InputStream,
stdout: PrintStream,
stderr: PrintStream) = Main.main0(
args,
stateCache,
mainInteractive,
- watchInterrupted,
DummyInputStream,
stdout,
stderr
@@ -85,7 +83,7 @@ object Main {
val (result, _) = main0(
args,
None,
- ammonite.Main.isInteractive(), () => false,
+ ammonite.Main.isInteractive(),
System.in,
System.out,
System.err
@@ -96,7 +94,6 @@ object Main {
def main0(args: Array[String],
stateCache: Option[Evaluator.State],
mainInteractive: Boolean,
- watchInterrupted: () => Boolean,
stdin: InputStream,
stdout: PrintStream,
stderr: PrintStream): (Boolean, Option[Evaluator.State]) = {
@@ -159,7 +156,6 @@ object Main {
val runner = new mill.main.MainRunner(
config.copy(home = pwd / "out" / ".ammonite", colored = Some(mainInteractive)),
stdout, stderr, stdin,
- watchInterrupted,
stateCache
)
diff --git a/main/src/mill/main/MainRunner.scala b/main/src/mill/main/MainRunner.scala
index 907f8a7b..a4a54df8 100644
--- a/main/src/mill/main/MainRunner.scala
+++ b/main/src/mill/main/MainRunner.scala
@@ -18,7 +18,6 @@ class MainRunner(val config: ammonite.main.Cli.Config,
outprintStream: PrintStream,
errPrintStream: PrintStream,
stdIn: InputStream,
- interruptWatch: () => Boolean,
stateCache0: Option[Evaluator.State] = None)
extends ammonite.MainRunner(
config, outprintStream, errPrintStream,
@@ -33,10 +32,7 @@ class MainRunner(val config: ammonite.main.Cli.Config,
Interpreter.pathSignature(file) == lastMTime
}
- while(statAll()) {
- if (interruptWatch()) throw mill.clientserver.WatchInterrupted(stateCache)
- Thread.sleep(100)
- }
+ while(statAll()) Thread.sleep(100)
}
override def runScript(scriptPath: Path, scriptArgs: List[String]) =