X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=rpm%2Fmetaproxy.init;h=cf32a359670ddf049dfcd25a9a75c8b933ae533a;hb=8b5b1897bd1223b6c8608685e0cceb82b47e5aed;hp=cba4ed916e2788cbbd08c559477def3587640993;hpb=e5bd284f943dac898f7f455680441e74a63622bd;p=metaproxy-moved-to-github.git diff --git a/rpm/metaproxy.init b/rpm/metaproxy.init index cba4ed9..cf32a35 100755 --- a/rpm/metaproxy.init +++ b/rpm/metaproxy.init @@ -27,7 +27,9 @@ if test -f /etc/rc.status; then . /etc/rc.status else rc_status() { + r=$? echo "" + return $r } fi @@ -94,7 +96,9 @@ else fi # end of compatibility layer for RedHat/SuSE -OPTIONS="-u nobody -l /var/log/metaproxy.log -c /etc/metaproxy/metaproxy.xml" +. /etc/metaproxy/metaproxy.user + +OPTIONS="-u $SERVER_USER -l /var/log/metaproxy.log -c /etc/metaproxy/metaproxy.xml" if [ -f /etc/sysconfig/metaproxy ]; then . /etc/sysconfig/metaproxy @@ -122,9 +126,44 @@ stop() { RETVAL=$? [ $RETVAL = 0 ] && rm -f ${lockfile} ${pidfile} } + reload() { - stop - start + echo -n $"Reloading $prog: " + $DAEMON $OPTIONS -t >/dev/null 2>&1 + RETVAL=$? + if [ $RETVAL = 0 ]; then + killproc -p ${pidfile} $DAEMON -USR1 >/dev/null 2>&1 + RETVAL=$? + if [ $RETVAL = 0 ]; then + i=0 + p=`cat ${pidfile}` + while [ -d /proc/$p -a $i -lt 100 ]; do + i=`expr $i + 1` + usleep 50000 + done + if [ -d /proc/$p ]; then + echo_failure + rc_status -v + RETVAL=1 + else + rm -f ${pidfile} + fi + else + echo_failure + rc_status -v + fi + else + echo_failure + rc_status -v + echo $"not reloading due to configuration syntax error" + fi + if [ $RETVAL = 0 ]; then + daemon --pidfile ${pidfile} $DAEMON $OPTIONS -D -p ${pidfile} + rc_status -v + RETVAL=$? + [ $RETVAL = 0 ] && touch ${lockfile} + fi + return $RETVAL } # See how we were called. @@ -150,7 +189,9 @@ case "$1" in fi ;; reload) - reload + if [ -f ${pidfile} ] ; then + reload + fi ;; configtest) $DAEMON $OPTIONS -t