From f92206b785f4e12502a924c415d7490145427f36 Mon Sep 17 00:00:00 2001 From: Josh Suereth Date: Wed, 16 Apr 2014 08:44:03 -0400 Subject: [PATCH] Fixes issue with deadlocking server discovery on windows. It turns out windows blocks until a process is finished when you try to close the stderr handle, but not stdout. Therefore, we leave stderr open when we shut down, which lets the server continue to run on windows. --- launch/src/main/scala/xsbt/boot/ServerApplication.scala | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/launch/src/main/scala/xsbt/boot/ServerApplication.scala b/launch/src/main/scala/xsbt/boot/ServerApplication.scala index 3f592b151..0b7600b83 100644 --- a/launch/src/main/scala/xsbt/boot/ServerApplication.scala +++ b/launch/src/main/scala/xsbt/boot/ServerApplication.scala @@ -150,7 +150,12 @@ object ServerLauncher { } finally { errorDumper.close() stdout.close() - stderr.close() + // Note: Closing this causes windows to block waiting for the server + // to close, but it ne'er will, as it is obstinate, and not designed + // to close immediately, unlike this process. + // We leave it open because this JVM shold be shut down soon anyway, + // and that will clean up al this memory. + //stderr.close() } }