src/Pure/Tools/server.scala
changeset 73179 f9c71ce29150
parent 73135 76bdfde8a579
child 73340 0ffcad1f6130
equal deleted inserted replaced
73178:7e70d7dd1baa 73179:f9c71ce29150
   137       Isabelle_Thread.fork(name = "server_handler") {
   137       Isabelle_Thread.fork(name = "server_handler") {
   138         var finished = false
   138         var finished = false
   139         while (!finished) {
   139         while (!finished) {
   140           Exn.capture(socket.accept) match {
   140           Exn.capture(socket.accept) match {
   141             case Exn.Res(client) =>
   141             case Exn.Res(client) =>
   142               Isabelle_Thread.fork(name = "server_connection") {
   142               Isabelle_Thread.fork(name = "client") {
   143                 using(Connection(client))(connection =>
   143                 using(Connection(client))(connection =>
   144                   if (connection.read_password(password)) handle(connection))
   144                   if (connection.read_password(password)) handle(connection))
   145               }
   145               }
   146             case Exn.Exn(_) => finished = true
   146             case Exn.Exn(_) => finished = true
   147           }
   147           }