You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by fm...@apache.org on 2011/08/09 16:11:57 UTC
svn commit: r1155377 - in
/sling/trunk/launchpad/base/src/main/java/org/apache/sling/launchpad/app:
ControlListener.java Main.java
Author: fmeschbe
Date: Tue Aug 9 14:11:57 2011
New Revision: 1155377
URL: http://svn.apache.org/viewvc?rev=1155377&view=rev
Log:
SLING-2175 Support LSB exit codes for the status command line option
Modified:
sling/trunk/launchpad/base/src/main/java/org/apache/sling/launchpad/app/ControlListener.java
sling/trunk/launchpad/base/src/main/java/org/apache/sling/launchpad/app/Main.java
Modified: sling/trunk/launchpad/base/src/main/java/org/apache/sling/launchpad/app/ControlListener.java
URL: http://svn.apache.org/viewvc/sling/trunk/launchpad/base/src/main/java/org/apache/sling/launchpad/app/ControlListener.java?rev=1155377&r1=1155376&r2=1155377&view=diff
==============================================================================
--- sling/trunk/launchpad/base/src/main/java/org/apache/sling/launchpad/app/ControlListener.java (original)
+++ sling/trunk/launchpad/base/src/main/java/org/apache/sling/launchpad/app/ControlListener.java Tue Aug 9 14:11:57 2011
@@ -124,8 +124,8 @@ class ControlListener implements Runnabl
* Implements the client side of the control connection sending the command
* to check whether Sling is active.
*/
- void statusServer() {
- sendCommand(COMMAND_STATUS);
+ int statusServer() {
+ return sendCommand(COMMAND_STATUS);
}
// ---------- Runnable interface
@@ -211,7 +211,15 @@ class ControlListener implements Runnabl
return null;
}
- private void sendCommand(String command) {
+ /**
+ * Sends the given command to the server indicated by the configured
+ * socket address and logs the reply.
+ *
+ * @param command The command to send
+ *
+ * @return A code indicating success of sending the command.
+ */
+ private int sendCommand(String command) {
if (socketAddress != null) {
Socket socket = null;
try {
@@ -221,11 +229,14 @@ class ControlListener implements Runnabl
String result = readLine(socket);
Main.info("Sent '" + command + "' to " + socketAddress + ": "
+ result, null);
+ return 0; // LSB code for everything's fine
} catch (ConnectException ce) {
Main.info("No Sling running at " + socketAddress, null);
+ return 3; // LSB code for programm not running
} catch (IOException ioe) {
Main.error("Failed sending '" + command + "' to "
+ socketAddress, ioe);
+ return 1; // LSB code for programm dead
} finally {
if (socket != null) {
try {
@@ -236,6 +247,7 @@ class ControlListener implements Runnabl
}
} else {
Main.info("No socket address to send '" + command + "' to", null);
+ return 4; // LSB code for unknown status
}
}
Modified: sling/trunk/launchpad/base/src/main/java/org/apache/sling/launchpad/app/Main.java
URL: http://svn.apache.org/viewvc/sling/trunk/launchpad/base/src/main/java/org/apache/sling/launchpad/app/Main.java?rev=1155377&r1=1155376&r2=1155377&view=diff
==============================================================================
--- sling/trunk/launchpad/base/src/main/java/org/apache/sling/launchpad/app/Main.java (original)
+++ sling/trunk/launchpad/base/src/main/java/org/apache/sling/launchpad/app/Main.java Tue Aug 9 14:11:57 2011
@@ -435,8 +435,8 @@ public class Main extends Thread impleme
sl.shutdownServer();
System.exit(0);
} else if (commandLineArgs.remove(ControlListener.COMMAND_STATUS) != null) {
- sl.statusServer();
- System.exit(0);
+ final int status = sl.statusServer();
+ System.exit(status);
} else if (commandLineArgs.remove("start") != null) {
sl.listen();
}