Blame SOURCES/0002-Fixed-errors-during-Tomcat-shutdown.patch

f332ec
From 981fdba088b14f975555b9dceb92db614acf631c Mon Sep 17 00:00:00 2001
f332ec
From: "Endi S. Dewata" <edewata@redhat.com>
f332ec
Date: Fri, 25 Oct 2013 09:28:05 -0400
f332ec
Subject: [PATCH 2/6] Fixed errors during Tomcat shutdown.
f332ec
f332ec
Previously the CMS.shutdown() was called multiple times during Tomcat
f332ec
shutdown, one by CMSStarServlet.destroy() and the other by the shutdown
f332ec
hook, causing some errors. The shutdown hook should only be used in a
f332ec
standalone application, so it has been moved into CMS.main().
f332ec
f332ec
Bugzilla #1018628
f332ec
---
f332ec
 base/common/src/com/netscape/certsrv/apps/CMS.java      | 17 +++++++++++++++++
f332ec
 .../com/netscape/cms/servlet/base/CMSStartServlet.java  |  3 +++
f332ec
 .../common/src/com/netscape/cmscore/apps/CMSEngine.java | 16 ----------------
f332ec
 3 files changed, 20 insertions(+), 16 deletions(-)
f332ec
f332ec
diff --git a/base/common/src/com/netscape/certsrv/apps/CMS.java b/base/common/src/com/netscape/certsrv/apps/CMS.java
f332ec
index 27cddad..fbcf65a 100644
f332ec
--- a/base/common/src/com/netscape/certsrv/apps/CMS.java
f332ec
+++ b/base/common/src/com/netscape/certsrv/apps/CMS.java
f332ec
@@ -1661,5 +1661,22 @@ public final class CMS {
f332ec
             start(path);
f332ec
         } catch (EBaseException e) {
f332ec
         }
f332ec
+
f332ec
+        // Use shutdown hook in stand-alone application
f332ec
+        // to catch SIGINT, SIGTERM, or SIGHUP.
f332ec
+        Runtime.getRuntime().addShutdownHook(new Thread() {
f332ec
+            public void run() {
f332ec
+                /*LogDoc
f332ec
+                *
f332ec
+                * @phase watchdog check
f332ec
+                */
f332ec
+                CMS.getLogger().log(ILogger.EV_SYSTEM,
f332ec
+                        ILogger.S_OTHER,
f332ec
+                        ILogger.LL_INFO,
f332ec
+                        "CMSEngine: Received shutdown signal");
f332ec
+
f332ec
+                CMS.shutdown();
f332ec
+            };
f332ec
+        });
f332ec
     }
f332ec
 }
f332ec
diff --git a/base/common/src/com/netscape/cms/servlet/base/CMSStartServlet.java b/base/common/src/com/netscape/cms/servlet/base/CMSStartServlet.java
f332ec
index e00f2bd..34bbb2e 100644
f332ec
--- a/base/common/src/com/netscape/cms/servlet/base/CMSStartServlet.java
f332ec
+++ b/base/common/src/com/netscape/cms/servlet/base/CMSStartServlet.java
f332ec
@@ -120,6 +120,9 @@ public class CMSStartServlet extends HttpServlet {
f332ec
         return "CMS startup servlet";
f332ec
     }
f332ec
 
f332ec
+    /**
f332ec
+     * This method will be called when Tomcat is shutdown.
f332ec
+     */
f332ec
     public void destroy() {
f332ec
         CMS.shutdown();
f332ec
         super.destroy();
f332ec
diff --git a/base/common/src/com/netscape/cmscore/apps/CMSEngine.java b/base/common/src/com/netscape/cmscore/apps/CMSEngine.java
f332ec
index 834918a..482b5ea 100644
f332ec
--- a/base/common/src/com/netscape/cmscore/apps/CMSEngine.java
f332ec
+++ b/base/common/src/com/netscape/cmscore/apps/CMSEngine.java
f332ec
@@ -262,22 +262,6 @@ public class CMSEngine implements ICMSEngine {
f332ec
      * private constructor.
f332ec
      */
f332ec
     public CMSEngine() {
f332ec
-
f332ec
-        // Shutdown on SIGINT, SIGTERM, or SIGHUP.
f332ec
-        Runtime.getRuntime().addShutdownHook(new Thread() {
f332ec
-            public void run() {
f332ec
-                /*LogDoc
f332ec
-                *
f332ec
-                * @phase watchdog check
f332ec
-                */
f332ec
-                getLogger().log(ILogger.EV_SYSTEM,
f332ec
-                        ILogger.S_OTHER,
f332ec
-                        ILogger.LL_INFO,
f332ec
-                        "OS: Received shutdown signal");
f332ec
-
f332ec
-                shutdown();
f332ec
-            };
f332ec
-        });
f332ec
     }
f332ec
 
f332ec
     /**
f332ec
-- 
f332ec
1.8.3.1
f332ec