# HG changeset patch # User Jiri Vanek # Date 1345543320 -7200 # Node ID f9ce023d1bf2922a7dd3bda7c47fc65ae5c3570d # Parent cea32b6fa36a14263e337bd644ba07affa81123a destroyProcess in ProcessAssasin is now calling sigInt instead of unwrapped sigTerm diff -r cea32b6fa36a -r f9ce023d1bf2 ChangeLog --- a/ChangeLog Tue Aug 21 11:19:38 2012 +0200 +++ b/ChangeLog Tue Aug 21 12:02:00 2012 +0200 @@ -1,3 +1,11 @@ +2012-08-21 Jiri Vanek + + * tests/test-extensions/net/sourceforge/jnlp/ProcessAssasin.java: + (sigInt), (sigKill), (sigTerm) new methods for various killing of + processes by kill. + (kill) new method, launching kill process. + (destroyProcess ) is now calling sigInt instead of unwrapped sigTerm. + 2012-08-21 Jiri Vanek * launcher/javaws.in: java is now launched by exec diff -r cea32b6fa36a -r f9ce023d1bf2 tests/test-extensions/net/sourceforge/jnlp/ProcessAssasin.java --- a/tests/test-extensions/net/sourceforge/jnlp/ProcessAssasin.java Tue Aug 21 11:19:38 2012 +0200 +++ b/tests/test-extensions/net/sourceforge/jnlp/ProcessAssasin.java Tue Aug 21 12:02:00 2012 +0200 @@ -166,18 +166,36 @@ Field f = p.getClass().getDeclaredField("pid"); f.setAccessible(true); String pid = (f.get(p)).toString(); - List ll=new ArrayList(4); - ll.add("kill"); - ll.add("-s"); - ll.add("SIGTERM"); - ll.add(pid); - ServerAccess.executeProcess(ll);//sync, but acctually release - //before affected application close - Thread.sleep(1000); + sigInt(pid); + //sigTerm(pid); + //sigKill(pid); } catch (Exception ex) { ServerAccess.logException(ex); } finally { p.destroy(); } } + + public static void sigInt(String pid) throws Exception { + kill(pid, "SIGINT"); + } + + public static void sigKill(String pid) throws Exception { + kill(pid, "SIGKILL"); + } + + public static void sigTerm(String pid) throws Exception { + kill(pid, "SIGTERM"); + } + + public static void kill(String pid,String signal) throws InterruptedException, Exception { + List ll = new ArrayList(4); + ll.add("kill"); + ll.add("-s"); + ll.add(signal); + ll.add(pid); + ServerAccess.executeProcess(ll); //sync, but acctually release + //before affected application close + Thread.sleep(1000); + } }