summaryrefslogtreecommitdiff
path: root/clientserver/src
diff options
context:
space:
mode:
authorLi Haoyi <haoyi.sg@gmail.com>2018-02-24 15:48:48 -0800
committerLi Haoyi <haoyi.sg@gmail.com>2018-02-24 17:13:04 -0800
commit5d7d42659c545571b7201efce0ba6a57ab4b0935 (patch)
tree365cc15d40ab00808b599d1e309af7d18f410efa /clientserver/src
parent139afd965ea072f8216b56126fb08dc8a44ebac4 (diff)
downloadmill-5d7d42659c545571b7201efce0ba6a57ab4b0935.tar.gz
mill-5d7d42659c545571b7201efce0ba6a57ab4b0935.tar.bz2
mill-5d7d42659c545571b7201efce0ba6a57ab4b0935.zip
better error messages when you run interactive commands without -i
Diffstat (limited to 'clientserver/src')
-rw-r--r--clientserver/src/mill/clientserver/ClientServer.scala4
-rw-r--r--clientserver/src/mill/clientserver/Server.scala9
2 files changed, 5 insertions, 8 deletions
diff --git a/clientserver/src/mill/clientserver/ClientServer.scala b/clientserver/src/mill/clientserver/ClientServer.scala
index 84ea2e00..f775f8d6 100644
--- a/clientserver/src/mill/clientserver/ClientServer.scala
+++ b/clientserver/src/mill/clientserver/ClientServer.scala
@@ -48,14 +48,14 @@ object ClientServer{
}
}
- def interruptWith[T](millis: Int, close: => Unit)(t: => T): Option[T] = {
+ def interruptWith[T](millis: Int, close: => Unit, t: => T): Option[T] = {
@volatile var interrupt = true
@volatile var interrupted = false
new Thread(() => {
Thread.sleep(millis)
if (interrupt) {
- close
interrupted = true
+ close
}
}).start()
diff --git a/clientserver/src/mill/clientserver/Server.scala b/clientserver/src/mill/clientserver/Server.scala
index a40c7cbe..52549f69 100644
--- a/clientserver/src/mill/clientserver/Server.scala
+++ b/clientserver/src/mill/clientserver/Server.scala
@@ -41,13 +41,10 @@ class Server[T](lockBase: String,
val ioSocket = new UnixDomainServerSocket(ioPath)
val sockOpt = ClientServer.interruptWith(
acceptTimeout,
- {
- try new UnixDomainSocket(ioPath).close()
- catch{case e: Throwable => }
- }
- ){
+ new UnixDomainSocket(ioPath).close(),
ioSocket.accept()
- }
+ )
+
sockOpt match{
case None => running = false
case Some(sock) =>