[jboss-cvs] JBossAS SVN: r102610 - branches/JBPAPP_4_2_0_GA_CP/system/src/bin.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri Mar 19 02:26:29 EDT 2010


Author: mladen.turk at jboss.com
Date: 2010-03-19 02:26:29 -0400 (Fri, 19 Mar 2010)
New Revision: 102610

Modified:
   branches/JBPAPP_4_2_0_GA_CP/system/src/bin/run.sh
Log:
Backport fix for the JBPAPP-3796 from 5.0 branch

Modified: branches/JBPAPP_4_2_0_GA_CP/system/src/bin/run.sh
===================================================================
--- branches/JBPAPP_4_2_0_GA_CP/system/src/bin/run.sh	2010-03-19 06:22:39 UTC (rev 102609)
+++ branches/JBPAPP_4_2_0_GA_CP/system/src/bin/run.sh	2010-03-19 06:26:29 UTC (rev 102610)
@@ -237,17 +237,17 @@
 while true; do
    if [ "x$LAUNCH_JBOSS_IN_BACKGROUND" = "x" ]; then
       # Execute the JVM in the foreground
-      "$JAVA" $JAVA_OPTS \
-         -Djava.endorsed.dirs="$JBOSS_ENDORSED_DIRS" \
-         -classpath "$JBOSS_CLASSPATH" \
+      eval \"$JAVA\" $JAVA_OPTS \
+         -Djava.endorsed.dirs=\"$JBOSS_ENDORSED_DIRS\" \
+         -classpath \"$JBOSS_CLASSPATH\" \
          org.jboss.Main "$@"
       JBOSS_STATUS=$?
    else
       # Execute the JVM in the background
-      "$JAVA" $JAVA_OPTS \
-         -Djava.endorsed.dirs="$JBOSS_ENDORSED_DIRS" \
-         -classpath "$JBOSS_CLASSPATH" \
-         org.jboss.Main "$@" &
+      eval \"$JAVA\" $JAVA_OPTS \
+         -Djava.endorsed.dirs=\"$JBOSS_ENDORSED_DIRS\" \
+         -classpath \"$JBOSS_CLASSPATH\" \
+         org.jboss.Main "$@" "&"
       JBOSS_PID=$!
       # Trap common signals and relay them to the jboss process
       trap "kill -HUP  $JBOSS_PID" HUP
@@ -256,17 +256,30 @@
       trap "kill -PIPE $JBOSS_PID" PIPE
       trap "kill -TERM $JBOSS_PID" TERM
       # Wait until the background process exits
-      WAIT_STATUS=0
-      while [ "$WAIT_STATUS" -ne 127 ]; do
-         JBOSS_STATUS=$WAIT_STATUS
+      WAIT_STATUS=128
+      while [ "$WAIT_STATUS" -ge 128 ]; do
          wait $JBOSS_PID 2>/dev/null
          WAIT_STATUS=$?
+         if [ "$WAIT_STATUS" -gt 128 ]; then
+            SIGNAL=`expr $WAIT_STATUS - 128`
+            SIGNAL_NAME=`kill -l $SIGNAL`
+            echo "*** JBossAS process ($JBOSS_PID) received $SIGNAL_NAME signal ***" >&2
+         fi          
       done
+      if [ "$WAIT_STATUS" -lt 127 ]; then
+         JBOSS_STATUS=$WAIT_STATUS
+      else
+         JBOSS_STATUS=0
+      fi      
+      if [ "$JBOSS_STATUS" -ne 10 ]; then
+            # Wait for a complete shudown
+            wait $JBOSS_PID 2>/dev/null
+      fi
    fi
    # If restart doesn't work, check you are running JBossAS 4.0.4+
    #    http://jira.jboss.com/jira/browse/JBAS-2483
    # or the following if you're running Red Hat 7.0
-   #    http://developer.java.sun.com/developer/bugParade/bugs/4465334.html
+   #    http://developer.java.sun.com/developer/bugParade/bugs/4465334.html   
    if [ "$JBOSS_STATUS" -eq 10 ]; then
       echo "Restarting JBoss..."
    else




More information about the jboss-cvs-commits mailing list