summaryrefslogtreecommitdiff
path: root/clientserver
diff options
context:
space:
mode:
Diffstat (limited to 'clientserver')
-rw-r--r--clientserver/src/mill/clientserver/ClientServer.scala4
-rw-r--r--clientserver/src/mill/clientserver/Server.scala9
-rw-r--r--clientserver/test/src/mill/clientserver/ClientServerTests.scala7
3 files changed, 6 insertions, 14 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) =>
diff --git a/clientserver/test/src/mill/clientserver/ClientServerTests.scala b/clientserver/test/src/mill/clientserver/ClientServerTests.scala
index 55453c4f..db5c6396 100644
--- a/clientserver/test/src/mill/clientserver/ClientServerTests.scala
+++ b/clientserver/test/src/mill/clientserver/ClientServerTests.scala
@@ -38,10 +38,9 @@ object ClientServerTests extends TestSuite{
def tests = Tests{
'hello - {
- var currentTimeMillis = 0
val (tmpDir, locks) = init()
- def spawnEchoServer() = {
+ def spawnEchoServer(): Unit = {
new Thread(() => new Server(
tmpDir.toString,
new EchoServer(),
@@ -55,7 +54,6 @@ object ClientServerTests extends TestSuite{
def runClient(arg: String) = {
val (in, out, err) = initStreams()
locks.clientLock.lockBlock{
- println("Client Lock")
val c = new Client(
tmpDir.toString,
() => spawnEchoServer(),
@@ -65,7 +63,6 @@ object ClientServerTests extends TestSuite{
err
)
c.run(Array(arg))
- println("Client unlock")
(new String(out.toByteArray), new String(err.toByteArray))
}
}
@@ -101,8 +98,6 @@ object ClientServerTests extends TestSuite{
)
// Make sure the server times out of not used for a while
- println("Sleep 2000")
- currentTimeMillis += 60001
Thread.sleep(2000)
assert(
locks.clientLock.probe(),