Index: NbProcessDescriptor.java =================================================================== RCS file: /cvs/openide/src/org/openide/execution/NbProcessDescriptor.java,v --- NbProcessDescriptor.java 1.36 +++ NbProcessDescriptor.java @@ -157,0 +157,4 @@ + Process process; + int origPriority; + Thread current = Thread.currentThread(); + @@ -207,0 +211,5 @@ + /* for WIN 98 it is nessesary to change priority to NORM_PRIORITY when starting external proces and then swith it back + see bug 4086045 + */ + origPriority = current.getPriority(); + current.setPriority(Thread.NORM_PRIORITY); @@ -209,1 +218,8 @@ - return Runtime.getRuntime ().exec (call); --- + try { + process = Runtime.getRuntime ().exec (call); + } + catch(IOException ioEx){ + current.setPriority(origPriority); //return priority to original + throw ioEx; + } + return process; @@ -211,1 +227,8 @@ - return Runtime.getRuntime ().exec (call, envp); --- + try { + process = Runtime.getRuntime ().exec (call, envp); + } + catch(IOException ioEx){ + current.setPriority(origPriority); //return priority to original + throw ioEx; + } + return process; @@ -217,1 +240,3 @@ - return (Process) m.invoke (Runtime.getRuntime (), new Object[] { call, envp, cwd }); --- + process = (Process) m.invoke (Runtime.getRuntime (), new Object[] { call, envp, cwd }); + current.setPriority(origPriority); //return priority to original + return process; @@ -219,1 +244,2 @@ - throw new IOException (NbBundle.getBundle (NbProcessDescriptor.class).getString ("EXC_no_JDK13_exec")); --- + current.setPriority(origPriority); + throw new IOException (NbBundle.getBundle (NbProcessDescriptor.class).getString ("EXC_no_JDK13_exec")); @@ -221,0 +247,1 @@ + current.setPriority(origPriority); //return priority to original @@ -230,1 +257,2 @@ - } catch (Exception e) { --- + } catch (Exception e) { + current.setPriority(origPriority); //return priority to original