diff options
Diffstat (limited to 'main/src/main/MillServerMain.scala')
-rw-r--r-- | main/src/main/MillServerMain.scala | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/main/src/main/MillServerMain.scala b/main/src/main/MillServerMain.scala index 55cef632..862daaf7 100644 --- a/main/src/main/MillServerMain.scala +++ b/main/src/main/MillServerMain.scala @@ -37,9 +37,9 @@ object MillServerMain extends mill.main.MillServerMain[Evaluator.State]{ def handle(sig: Signal) = {} // do nothing }) new Server( - args0(0), + lockBase = args0(0), this, - () => System.exit(0), + () => System.exit(MillClientMain.ExitServerCodeWhenIdle()), 300000, mill.main.client.Locks.files(args0(0)) ).run() @@ -124,7 +124,11 @@ class Server[T](lockBase: String, if (clientMillVersion != serverMillVersion) { // FIXME: exiting with 0 isn't correct, see https://github.com/lihaoyi/mill/issues/557 stdout.println(s"Mill version changed ($serverMillVersion -> $clientMillVersion), re-starting server") - System.exit(0) + java.nio.file.Files.write( + java.nio.file.Paths.get(lockBase + "/exitCode"), + s"${MillClientMain.ExitServerCodeWhenVersionMismatch()}".getBytes() + ) + System.exit(MillClientMain.ExitServerCodeWhenVersionMismatch()) } val args = Util.parseArgs(argStream) val env = Util.parseMap(argStream) |