diff options
author | Nalin Dahyabhai <nalin.dahyabhai@pobox.com> | 2009-04-02 17:14:35 -0400 |
---|---|---|
committer | Nalin Dahyabhai <nalin.dahyabhai@pobox.com> | 2009-04-02 17:14:35 -0400 |
commit | b794f6ea5a49e42660702591b6e9acf3f16956fe (patch) | |
tree | 0ff659f6c70b3fe512980b890dae9eea46610882 | |
parent | d35c014630633a3548d3ebc9a4dd3ea6993ec265 (diff) | |
download | credmonger-b794f6ea5a49e42660702591b6e9acf3f16956fe.tar.gz credmonger-b794f6ea5a49e42660702591b6e9acf3f16956fe.tar.xz credmonger-b794f6ea5a49e42660702591b6e9acf3f16956fe.zip |
- initscript fixes
- catch SIGTERM
-rw-r--r-- | credmonger.spec | 12 | ||||
-rw-r--r-- | src/credmonger.c | 1 | ||||
-rwxr-xr-x | src/credmonger.init | 19 |
3 files changed, 19 insertions, 13 deletions
diff --git a/credmonger.spec b/credmonger.spec index f6e59eb..f73c85f 100644 --- a/credmonger.spec +++ b/credmonger.spec @@ -10,9 +10,9 @@ Source0: credmonger-%{version}.tar.gz BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) BuildRequires: krb5-devel -Requires(post): /sbin/chkconfig -Requires(preun): /sbin/chkconfig, /sbin/service -Requires(postun): /sbin/service +Requires(post): chkconfig +Requires(preun): chkconfig, initscripts +Requires(postun): initscripts %description The credmonger daemon creates and refreshes Kerberos credential cache @@ -42,14 +42,16 @@ rm -rf $RPM_BUILD_ROOT %preun if [ "$1" -eq 0 ] ; then - /sbin/service credmonger stop 2>&1 > /dev/null || : + /sbin/service credmonger stop > /dev/null 2>&1 || : /sbin/chkconfig --del credmonger fi +exit 0 %postun if [ "$1" -ge 1 ] ; then - /sbin/service credmonger condrestart 2>&1 > /dev/null || : + /sbin/service credmonger condrestart > /dev/null 2>&1 || : fi +exit 0 %files %defattr(-,root,root,-) diff --git a/src/credmonger.c b/src/credmonger.c index aff8c40..c6a37a4 100644 --- a/src/credmonger.c +++ b/src/credmonger.c @@ -657,6 +657,7 @@ main(int argc, char **argv) (long) howlong); signal(SIGHUP, setreload); signal(SIGINT, setquit); + signal(SIGTERM, setquit); signal(SIGQUIT, setquit); howlong = sleep(howlong); }; diff --git a/src/credmonger.init b/src/credmonger.init index 1ecba09..baf2eeb 100755 --- a/src/credmonger.init +++ b/src/credmonger.init @@ -28,23 +28,26 @@ [ -r /etc/sysconfig/credmonger ] && . /etc/sysconfig/credmonger RETVAL=0 -prog=credmonger +program=/usr/sbin/credmonger +prog=${program##*/} +pidfile=/var/run/credmonger.pid +lockfile=/var/lock/subsys/credmonger start () { echo -n $"Starting $prog: " - daemon /usr/sbin/$prog -p /var/run/credmonger.pid + daemon ${program} -p ${pidfile} RETVAL=$? echo - [ $RETVAL -eq 0 ] && touch /var/lock/subsys/credmonger + [ $RETVAL -eq 0 ] && touch ${lockfile} return $RETVAL } stop () { echo -n $"Stopping $prog: " - killproc /usr/sbin/$prog + killproc -p ${pidfile} ${program} RETVAL=$? if [ $RETVAL -eq 0 ]; then - rm -f /var/run/credmonger.pid + rm -f ${lockfile} success $"$prog shutdown" else failure $"$prog shutdown" @@ -77,13 +80,13 @@ case "$1" in RETVAL=$? ;; condrestart) - [ -e /var/lock/subsys/credmonger ] && restart + [ -e ${lockfile} ] && restart RETVAL=$? ;; - force-reload | reload) + force-reload|reload) echo -n $"Reloading $prog: " + killproc -p ${pidfile} ${program} -HUP RETVAL=0 - killproc /usr/sbin/$prog -HUP echo ;; *) |