Author: pawelz                       Date: Thu Oct 29 08:05:22 2009 GMT
Module: packages                      Tag: HEAD
---- Log message:
- test if current user is red5. Exit otherwise.
- part of code that handles pidfile and starts java process moved to subshell.
  Now it is easy to background this subshell.
- glen: please, review

---- Files affected:
packages/red5:
   red5 (1.7 -> 1.8) 

---- Diffs:

================================================================
Index: packages/red5/red5
diff -u packages/red5/red5:1.7 packages/red5/red5:1.8
--- packages/red5/red5:1.7      Wed Oct 28 18:47:48 2009
+++ packages/red5/red5  Thu Oct 29 09:05:16 2009
@@ -5,6 +5,11 @@
        exit 1
 fi
 
+if [ "$(whoami)" != "red5" ]; then
+       echo >&2 "This script must be run as red5 user."
+       exit 1
+fi
+
 # set $JAVACMD
 . /usr/share/java-utils/java-functions
 set_javacmd
@@ -16,23 +21,26 @@
 
LOGGING_OPTS="-Dlogback.ContextSelector=org.red5.logging.LoggingContextSelector 
-Dcatalina.useNaming=true"
 SECURITY_OPTS="-Djava.security.debug=failure"
 
-trap 'pid=$(cat /var/run/red5/red5.pid 2>/dev/null); [ "$pid" ] && kill $pid' 
TERM INT EXIT
-
-# start red5
-cd "$RED5_HOME"
-$JAVACMD \
-       $JAVA_OPTS \
-       $LOGGING_OPTS \
-       $SECURITY_OPTS \
-       -Dpython.home=$RED5_HOME/lib \
-       -Dred5.root=$RED5_HOME \
-       -Dred5.webappsdir=$RED5_WEBAPPSDIR \
-       -cp $RED5_CLASSPATH org.red5.server.Bootstrap "$@" >> 
/var/log/red5/red5.out &
-
-PID=$!
-
-# XXX: what happens if $JAVACMD fails and $PID is empty?
-
-echo "$PID" > /var/run/red5/red5.pid
-wait $PID
-rm /var/run/red5/red5.pid
+# This subshell is a wrapper that adds pidfile support
+(
+  trap 'pid=$(cat /var/run/red5/red5.pid 2>/dev/null); [ "$pid" ] && kill 
$pid' TERM INT EXIT
+  # start red5
+  cd "$RED5_HOME"
+  $JAVACMD \
+       $JAVA_OPTS \
+       $LOGGING_OPTS \
+       $SECURITY_OPTS \
+       -Dpython.home=$RED5_HOME/lib \
+       -Dred5.root=$RED5_HOME \
+       -Dred5.webappsdir=$RED5_WEBAPPSDIR \
+       -cp $RED5_CLASSPATH org.red5.server.Bootstrap "$@" >> 
/var/log/red5/red5.out &
+  
+  PID=$!
+  
+  # XXX: what happens if $JAVACMD fails and $PID is empty?
+  # - if $PID is empty, or it is not a child process of current shell, wait 
command will terminate imediately, 
+  
+  echo "$PID" > /var/run/red5/red5.pid
+  wait $PID
+  rm /var/run/red5/red5.pid
+) &
================================================================

---- CVS-web:
    
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/red5/red5?r1=1.7&r2=1.8&f=u

_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to