Hi Peter,

The patch was applied on svn revision 8152.

Thank you and regards,

Razvan Crainea
OpenSIPS Developer


On 11.07.2011 17:14, Peter Lemenkov wrote:
* Proper (according to LSB) return values
* Explicitly set up PID_file and lock-file
* Check for running OpenSIPs before some operations

Signed-off-by: Peter Lemenkov<lemen...@gmail.com>
---
  packaging/fedora/opensips.init |   39 ++++++++++++++++++++++++++++++---------
  1 files changed, 30 insertions(+), 9 deletions(-)

diff --git a/packaging/fedora/opensips.init b/packaging/fedora/opensips.init
index 40adb88..685d1ef 100644
--- a/packaging/fedora/opensips.init
+++ b/packaging/fedora/opensips.init
@@ -20,28 +20,49 @@
  # Source function library.
  . /etc/rc.d/init.d/functions

-oser=/usr/sbin/opensips
  prog=opensips
+oser=/usr/sbin/$prog
+pidfile="/var/run/$prog.pid"
+lockfile="/var/lock/subsys/$prog"
+configfile="/etc/$prog/$prog.cfg"
+OPTIONS=""
+
  RETVAL=0

  [ -f /etc/sysconfig/$prog ]&&  . /etc/sysconfig/$prog

  start() {
        echo -n $"Starting $prog: "
+
+       # check whether OpenSIPs was already started
+       if status $prog>  /dev/null 2>&1 ; then
+               echo -n "already running"&&  warning&&  echo
+               return 0
+       fi
+
        # there is something at end of this output which is needed to
        # report proper [ OK ] status in Fedora scripts
-       daemon $oser $OPTIONS 2>/dev/null | tail -1
+       daemon $oser -P $pidfile -f $configfile $OPTIONS 2>/dev/null | tail -1
        RETVAL=$?
        echo
-       [ $RETVAL = 0 ]&&  touch /var/lock/subsys/$prog
+       [ $RETVAL = 0 ]&&  touch $lockfile
+       return $RETVAL
  }

  stop() {
        echo -n $"Stopping $prog: "
-       killproc $oser
+
+       # check whether OpenSIPs is running
+       if ! status $prog>  /dev/null 2>&1 ; then
+               echo -n "not running"&&  warning&&  echo
+               return 0
+       fi
+
+       killproc $prog 2>  /dev/null
        RETVAL=$?
        echo
-       [ $RETVAL = 0 ]&&  rm -f /var/lock/subsys/$prog /var/run/$prog.pid
+       [ $RETVAL = 0 ]&&  rm -f $lockfile $pidfile
+       return $RETVAL
  }

  # See how we were called.
@@ -53,22 +74,22 @@ case "$1" in
                stop
                ;;
        status)
-               status $oser
+               status $prog
                RETVAL=$?
                ;;
        restart|reload)
                stop
                start
                ;;
-       condrestart)
-               if [ -f /var/run/opensips.pid ] ; then
+       condrestart|try-restart)
+               if [ -f $pidfile ] ; then
                        stop
                        start
                fi
                ;;
        *)
                echo $"Usage: $prog 
{start|stop|reload|restart|condrestart|status|help}"
-               exit 1
+               RETVAL=2
  esac

  exit $RETVAL

_______________________________________________
Devel mailing list
Devel@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/devel

Reply via email to