equal
deleted
inserted
replaced
325 |
325 |
326 private def kill_cmd(signal: String): Int = |
326 private def kill_cmd(signal: String): Int = |
327 execute(true, "/usr/bin/env", "bash", "-c", "kill -" + signal + " -" + pid).waitFor |
327 execute(true, "/usr/bin/env", "bash", "-c", "kill -" + signal + " -" + pid).waitFor |
328 |
328 |
329 private def kill(signal: String): Boolean = |
329 private def kill(signal: String): Boolean = |
330 { |
330 Exn.Interrupt.postpone { kill_cmd(signal); kill_cmd("0") == 0 } getOrElse true |
331 try { |
|
332 kill_cmd(signal) |
|
333 kill_cmd("0") == 0 |
|
334 } |
|
335 catch { case Exn.Interrupt() => true } |
|
336 } |
|
337 |
331 |
338 private def multi_kill(signal: String): Boolean = |
332 private def multi_kill(signal: String): Boolean = |
339 { |
333 { |
340 var running = true |
334 var running = true |
341 var count = 10 |
335 var count = 10 |
342 while (running && count > 0) { |
336 while (running && count > 0) { |
343 if (kill(signal)) { |
337 if (kill(signal)) { |
344 try { Thread.sleep(100) } catch { case Exn.Interrupt() => } |
338 Exn.Interrupt.postpone { |
345 count -= 1 |
339 Thread.sleep(100) |
|
340 count -= 1 |
|
341 } |
346 } |
342 } |
347 else running = false |
343 else running = false |
348 } |
344 } |
349 running |
345 running |
350 } |
346 } |