aboutsummaryrefslogtreecommitdiffstats
path: root/tests/test-extensions/net/sourceforge/jnlp/ThreadedProcess.java
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test-extensions/net/sourceforge/jnlp/ThreadedProcess.java')
-rw-r--r--tests/test-extensions/net/sourceforge/jnlp/ThreadedProcess.java10
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;
+ }
}