packages: red5/red5 - test if current user is red5. Exit otherwise. - part ...
pawelz
pawelz at pld-linux.org
Thu Oct 29 09:05:22 CET 2009
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
More information about the pld-cvs-commit
mailing list