X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=rpm%2Fmetaproxy.init;h=cf32a359670ddf049dfcd25a9a75c8b933ae533a;hb=77f7f089896020b5bc2bb513cd64763b24d3d707;hp=d4cf0ab201f9d79156ee85ccfb5f6157b595eb7a;hpb=8e494be7d760b4fe8f5b0d9e48a19b2dca7d962b;p=metaproxy-moved-to-github.git diff --git a/rpm/metaproxy.init b/rpm/metaproxy.init index d4cf0ab..cf32a35 100755 --- a/rpm/metaproxy.init +++ b/rpm/metaproxy.init @@ -126,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. @@ -154,7 +189,9 @@ case "$1" in fi ;; reload) - reload + if [ -f ${pidfile} ] ; then + reload + fi ;; configtest) $DAEMON $OPTIONS -t