diff options
Diffstat (limited to 'tests/test-extensions/net/sourceforge/jnlp/ThreadedProcess.java')
-rw-r--r-- | tests/test-extensions/net/sourceforge/jnlp/ThreadedProcess.java | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/tests/test-extensions/net/sourceforge/jnlp/ThreadedProcess.java b/tests/test-extensions/net/sourceforge/jnlp/ThreadedProcess.java index 2ee6b84..a7f4a72 100644 --- a/tests/test-extensions/net/sourceforge/jnlp/ThreadedProcess.java +++ b/tests/test-extensions/net/sourceforge/jnlp/ThreadedProcess.java @@ -45,7 +45,7 @@ import java.util.List; * wrapper around Runtime.getRuntime().exec(...) which ensures that process is run inside its own, by us controlled, thread. * Process builder caused some unexpected and weird behavior :/ */ -class ThreadedProcess extends Thread { +public class ThreadedProcess extends Thread { Process p = null; List<String> args; @@ -59,6 +59,7 @@ class ThreadedProcess extends Thread { * check DeadLockTestTest.testDeadLockTestTerminated2 */ private boolean destoyed = false; + private ProcessAssasin assasin; public boolean isDestoyed() { return destoyed; @@ -143,6 +144,9 @@ class ThreadedProcess extends Thread { try { exitCode = p.waitFor(); Thread.sleep(500); //this is giving to fast done proecesses's e/o readers time to read all. I would like to know better solution :-/ + while(assasin.isKilling() && !assasin.haveKilled()){ + Thread.sleep(100); + }; } finally { destoyed = true; } @@ -163,4 +167,8 @@ class ThreadedProcess extends Thread { running = false; } } + + void setAssasin(ProcessAssasin pa) { + this.assasin=pa; + } } |