Author: tallison
Date: Thu Jul  9 13:02:27 2015
New Revision: 1690090

URL: http://svn.apache.org/r1690090
Log:
TIKA-1676

Modified:
    
tika/trunk/tika-batch/src/main/java/org/apache/tika/batch/BatchProcessDriverCLI.java

Modified: 
tika/trunk/tika-batch/src/main/java/org/apache/tika/batch/BatchProcessDriverCLI.java
URL: 
http://svn.apache.org/viewvc/tika/trunk/tika-batch/src/main/java/org/apache/tika/batch/BatchProcessDriverCLI.java?rev=1690090&r1=1690089&r2=1690090&view=diff
==============================================================================
--- 
tika/trunk/tika-batch/src/main/java/org/apache/tika/batch/BatchProcessDriverCLI.java
 (original)
+++ 
tika/trunk/tika-batch/src/main/java/org/apache/tika/batch/BatchProcessDriverCLI.java
 Thu Jul  9 13:02:27 2015
@@ -54,6 +54,8 @@ public class BatchProcessDriverCLI {
     //message has been received through stdout, but the
     //child process has not yet exited
     private int waitNumLoopsAfterRestartmessage = 60;
+    int loopsAfterRestartMessageReceived = 0;
+
 
 
     private volatile boolean userInterrupted = false;
@@ -107,7 +109,6 @@ public class BatchProcessDriverCLI {
         interruptWatcherThread.start();
         logger.info("about to start driver");
         start();
-        int loopsAfterRestartMessageReceived = 0;
         while (!userInterrupted) {
             Integer exit = null;
             try {
@@ -136,7 +137,8 @@ public class BatchProcessDriverCLI {
             //if we've gotten the message via stdout to restart
             //but the process hasn't exited yet, give it another
             //chance
-            if (receivedRestartMsg && exit == null) {
+            if (receivedRestartMsg && exit == null &&
+                    loopsAfterRestartMessageReceived <= 
waitNumLoopsAfterRestartmessage) {
                 loopsAfterRestartMessageReceived++;
                 logger.warn("Must restart, still not exited; loops after 
restart: " +
                             loopsAfterRestartMessageReceived);
@@ -226,6 +228,7 @@ public class BatchProcessDriverCLI {
         stop();
         start();
         numRestarts++;
+        loopsAfterRestartMessageReceived = 0;
         return true;
     }
 


Reply via email to