summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNalin Dahyabhai <nalin.dahyabhai@pobox.com>2009-04-02 17:14:35 -0400
committerNalin Dahyabhai <nalin.dahyabhai@pobox.com>2009-04-02 17:14:35 -0400
commitb794f6ea5a49e42660702591b6e9acf3f16956fe (patch)
tree0ff659f6c70b3fe512980b890dae9eea46610882
parentd35c014630633a3548d3ebc9a4dd3ea6993ec265 (diff)
downloadcredmonger-b794f6ea5a49e42660702591b6e9acf3f16956fe.tar.gz
credmonger-b794f6ea5a49e42660702591b6e9acf3f16956fe.tar.xz
credmonger-b794f6ea5a49e42660702591b6e9acf3f16956fe.zip
- initscript fixes
- catch SIGTERM
-rw-r--r--credmonger.spec12
-rw-r--r--src/credmonger.c1
-rwxr-xr-xsrc/credmonger.init19
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
;;
*)