X-Git-Url: http://lists.indexdata.dk/cgi-bin?a=blobdiff_plain;f=rpm%2Fmetaproxy.init;h=cf32a359670ddf049dfcd25a9a75c8b933ae533a;hb=refs%2Fheads%2Fcp-3770;hp=d303d36e401e78927c16404e91388e9da2cc12e8;hpb=e546d546c230350a66ee12d983fafc810937e7d1;p=metaproxy-moved-to-github.git diff --git a/rpm/metaproxy.init b/rpm/metaproxy.init index d303d36..cf32a35 100755 --- a/rpm/metaproxy.init +++ b/rpm/metaproxy.init @@ -96,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 @@ -124,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. @@ -152,7 +189,9 @@ case "$1" in fi ;; reload) - reload + if [ -f ${pidfile} ] ; then + reload + fi ;; configtest) $DAEMON $OPTIONS -t