[jboss-cvs] JBossAS SVN: r60984 - trunk/system/src/bin.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Feb 28 05:03:09 EST 2007


Author: dimitris at jboss.org
Date: 2007-02-28 05:03:09 -0500 (Wed, 28 Feb 2007)
New Revision: 60984

Modified:
   trunk/system/src/bin/run.sh
Log:
synch with Branch_4_2

Modified: trunk/system/src/bin/run.sh
===================================================================
--- trunk/system/src/bin/run.sh	2007-02-28 10:01:53 UTC (rev 60983)
+++ trunk/system/src/bin/run.sh	2007-02-28 10:03:09 UTC (rev 60984)
@@ -191,16 +191,43 @@
 echo "========================================================================="
 echo ""
 
-STATUS=10
-while [ $STATUS -eq 10 ]
-do
-# Execute the JVM
-   "$JAVA" $JAVA_OPTS \
-      -Djava.endorsed.dirs="$JBOSS_ENDORSED_DIRS" \
-      -classpath "$JBOSS_CLASSPATH" \
-      org.jboss.Main "$@"
-   STATUS=$?
-   # if it doesn't work, you may want to take a look at this:
-   #    http://developer.java.sun.com/developer/bugParade/bugs/4465334.html
+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" \
+         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 "$@" &
+      JBOSS_PID=$!
+      # Trap common signals and relay them to the jboss process
+      trap "kill -HUP  $JBOSS_PID" HUP
+      trap "kill -TERM $JBOSS_PID" INT
+      trap "kill -QUIT $JBOSS_PID" QUIT
+      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 $JBOSS_PID 2>/dev/null
+         WAIT_STATUS=$?
+      done
+   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   
+   if [ $JBOSS_STATUS -eq 10 ]; then
+      echo "Restarting JBoss..."
+   else
+      exit $JBOSS_STATUS
+   fi
 done
 




More information about the jboss-cvs-commits mailing list