commit | 8afeb149a7f59cdbdd48afacd43293a90721ebfc | [log] [tgz] |
---|---|---|
author | Kohei Nozaki <kohei@apache.org> | Mon Oct 12 10:38:48 2015 +0000 |
committer | Kohei Nozaki <kohei@apache.org> | Mon Oct 12 10:38:48 2015 +0000 |
tree | 780e838f5167a2f93bcfa9296fadb1e948123165 | |
parent | 70f35a17a2392aec39db0244e18c7f6838c4d1c1 [diff] |
Fix shutdown procedure of ContinuousWorkerThread (it won't stop if interrupt() has been invoked during the thread is running) git-svn-id: https://svn.apache.org/repos/asf/roller/trunk@1708081 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/app/src/main/java/org/apache/roller/weblogger/business/HitCountQueue.java b/app/src/main/java/org/apache/roller/weblogger/business/HitCountQueue.java index 0bc0448..5a4494b 100644 --- a/app/src/main/java/org/apache/roller/weblogger/business/HitCountQueue.java +++ b/app/src/main/java/org/apache/roller/weblogger/business/HitCountQueue.java
@@ -114,6 +114,12 @@ if(this.worker != null) { log.info("stopping worker "+this.worker.getName()); worker.interrupt(); + try { + // wait 10 seconds for graceful shutdown + worker.join(10 * 1000); + } catch (InterruptedException e) { + log.debug("interrupted", e); + } } }
diff --git a/app/src/main/java/org/apache/roller/weblogger/business/runnable/ContinuousWorkerThread.java b/app/src/main/java/org/apache/roller/weblogger/business/runnable/ContinuousWorkerThread.java index da54803..098d9f9 100644 --- a/app/src/main/java/org/apache/roller/weblogger/business/runnable/ContinuousWorkerThread.java +++ b/app/src/main/java/org/apache/roller/weblogger/business/runnable/ContinuousWorkerThread.java
@@ -60,8 +60,8 @@ mLogger.info(this.id+" Started."); - // run forever - while(true) { + // run till interrupted + while (!Thread.currentThread().isInterrupted()) { // execute our job super.run(); @@ -75,6 +75,8 @@ break; } } + + mLogger.info(this.id+" Done."); } - + }