Commits

Michael Heemskerk committed 2165e1e

Fix to ensure that the new ExternalProcessImpl#awaitPumpOrProcess returns when the thread is interrupted

Comments (0)

Files changed (1)

src/main/java/com/atlassian/utils/process/ExternalProcessImpl.java

     private void awaitPumpOrProcess(LatchedRunnable runnable, long latestTime) {
         if (runnable != null) {
             boolean finished = false;
-            while (!finished && System.currentTimeMillis() < latestTime && isAlive()) {
+            while (!finished && System.currentTimeMillis() < latestTime && isAlive() && !Thread.currentThread().isInterrupted()) {
                 long timeout = Math.min(1000, latestTime - System.currentTimeMillis());
                 if (timeout < 1) {
                     timeout = 1;
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.