diff -up mailman-2.1.12/misc/mailman.in.initcleanup mailman-2.1.12/misc/mailman.in
--- mailman-2.1.12/misc/mailman.in.initcleanup 2009-10-05 09:09:35.000000000 -0400
+++ mailman-2.1.12/misc/mailman.in 2009-10-05 17:53:56.000000000 -0400
@@ -91,6 +91,8 @@ function start()
then
touch /var/lock/subsys/$prog
InstallCron
+ else
+ RETVAL=6
fi
echo
return $RETVAL
@@ -98,6 +100,8 @@ function start()
function stop()
{
+ if [ -f /var/lock/subsys/$prog ]
+ then
echo -n $"Shutting down $prog: "
mailman-update-cfg
daemon $MAILMANCTL -q stop
@@ -108,6 +112,10 @@ function stop()
RemoveCron
fi
echo
+ else
+ echo $"$prog already stopped."
+ RETVAL=0
+ fi
return $RETVAL
}
@@ -135,7 +143,7 @@ case "$1" in
RETVAL=$?
;;
-'condrestart')
+'condrestart'|'try-restart')
$MAILMANCTL -q -u status
retval=$?
if [ $retval -eq 0 ]
@@ -146,13 +154,20 @@ case "$1" in
;;
'status')
- $MAILMANCTL -u status
+ output=$($MAILMANCTL -u status)
RETVAL=$?
+ if [ $RETVAL -eq 3 -a -f /var/lock/subsys/$prog ]
+ then
+ echo $"$prog dead but subsys locked"
+ RETVAL=2
+ else
+ echo $output
+ fi
;;
*)
- echo $"Usage: $prog {start|stop|restart|force-reload|condrestart|status}"
- RETVAL=3
+ echo $"Usage: $prog {start|stop|restart|force-reload|condrestart|try-restart|status}"
+ RETVAL=2
;;
esac