Maybe we can use java.lang.Runtime.addShutdownHook(Thread) to perform the cleanup.

Thanks,
Raymond

--------------------------------------------------
From: <[EMAIL PROTECTED]>
Sent: Wednesday, July 30, 2008 6:27 PM
To: <[EMAIL PROTECTED]>
Subject: svn commit: r681252 - in /tuscany/java/sca/modules/node2-launcher/src/main/java/org/apache/tuscany/sca/node/launcher: DomainManagerLauncher.java NodeDaemonLauncher.java NodeLauncher.java

Author: jsdelfino
Date: Wed Jul 30 18:27:51 2008
New Revision: 681252

URL: http://svn.apache.org/viewvc?rev=681252&view=rev
Log:
Node launcher gets IOException from System.in and fails when started as a detached daemon on Linux.

Modified:

tuscany/java/sca/modules/node2-launcher/src/main/java/org/apache/tuscany/sca/node/launcher/DomainManagerLauncher.java

tuscany/java/sca/modules/node2-launcher/src/main/java/org/apache/tuscany/sca/node/launcher/NodeDaemonLauncher.java

tuscany/java/sca/modules/node2-launcher/src/main/java/org/apache/tuscany/sca/node/launcher/NodeLauncher.java

Modified: tuscany/java/sca/modules/node2-launcher/src/main/java/org/apache/tuscany/sca/node/launcher/DomainManagerLauncher.java URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/node2-launcher/src/main/java/org/apache/tuscany/sca/node/launcher/DomainManagerLauncher.java?rev=681252&r1=681251&r2=681252&view=diff
==============================================================================
--- tuscany/java/sca/modules/node2-launcher/src/main/java/org/apache/tuscany/sca/node/launcher/DomainManagerLauncher.java (original) +++ tuscany/java/sca/modules/node2-launcher/src/main/java/org/apache/tuscany/sca/node/launcher/DomainManagerLauncher.java Wed Jul 30 18:27:51 2008
@@ -90,7 +90,14 @@
        logger.info("Press enter to shutdown.");
        try {
            System.in.read();
-        } catch (IOException e) {}
+        } catch (IOException e) {
+
+            // Wait forever
+            Object lock = new Object();
+            synchronized(lock) {
+                lock.wait();
+            }
+        }

        // Stop the domain manager
        try {

Modified: tuscany/java/sca/modules/node2-launcher/src/main/java/org/apache/tuscany/sca/node/launcher/NodeDaemonLauncher.java URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/node2-launcher/src/main/java/org/apache/tuscany/sca/node/launcher/NodeDaemonLauncher.java?rev=681252&r1=681251&r2=681252&view=diff
==============================================================================
--- tuscany/java/sca/modules/node2-launcher/src/main/java/org/apache/tuscany/sca/node/launcher/NodeDaemonLauncher.java (original) +++ tuscany/java/sca/modules/node2-launcher/src/main/java/org/apache/tuscany/sca/node/launcher/NodeDaemonLauncher.java Wed Jul 30 18:27:51 2008
@@ -79,7 +79,14 @@
        logger.info("Press enter to shutdown.");
        try {
            System.in.read();
-        } catch (IOException e) {}
+        } catch (IOException e) {
+
+            // Wait forever
+            Object lock = new Object();
+            synchronized(lock) {
+                lock.wait();
+            }
+        }

        // Stop the node daemon
        try {

Modified: tuscany/java/sca/modules/node2-launcher/src/main/java/org/apache/tuscany/sca/node/launcher/NodeLauncher.java URL: http://svn.apache.org/viewvc/tuscany/java/sca/modules/node2-launcher/src/main/java/org/apache/tuscany/sca/node/launcher/NodeLauncher.java?rev=681252&r1=681251&r2=681252&view=diff
==============================================================================
--- tuscany/java/sca/modules/node2-launcher/src/main/java/org/apache/tuscany/sca/node/launcher/NodeLauncher.java (original) +++ tuscany/java/sca/modules/node2-launcher/src/main/java/org/apache/tuscany/sca/node/launcher/NodeLauncher.java Wed Jul 30 18:27:51 2008
@@ -129,7 +129,14 @@
        logger.info("Press enter to shutdown.");
        try {
            System.in.read();
-        } catch (IOException e) {}
+        } catch (IOException e) {
+
+            // Wait forever
+            Object lock = new Object();
+            synchronized(lock) {
+                lock.wait();
+            }
+        }

        // Stop the node
        try {


Reply via email to