X-Git-Url: http://git.pld-linux.org/?p=packages%2Fcyrus-imapd.git;a=blobdiff_plain;f=cyrus-imapd.init;h=961025ab01cf9f0f44b97b0809b3851c58fd911e;hp=762bde82dcb4e02022af6764d12aa455431cdf5d;hb=bc54fdabf0f60d622d9a0bd69269422724575008;hpb=e629bc92d5f3b40954420921c18eb25aecf70e7b diff --git a/cyrus-imapd.init b/cyrus-imapd.init index 762bde8..961025a 100644 --- a/cyrus-imapd.init +++ b/cyrus-imapd.init @@ -1,10 +1,12 @@ #!/bin/sh # -# cyrus-imapd cyrus-imapd IMAP & POP3 Server +# cyrus-imapd cyrus-imapd IMAP Daemon # -# chkconfig: 345 85 15 +# chkconfig: 345 85 15 # # description: cyrus-imapd +# +# $Id$ # Source function library . /etc/rc.d/init.d/functions @@ -14,59 +16,81 @@ # Check that networking is up. if is_yes "${NETWORKING}"; then - if [ ! -f /var/lock/subsys/network ]; then - msg_network_down cyrus-imapd + if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then + msg_network_down "Cyrus IMAP Daemon" exit 1 fi else exit 0 fi +start() { + # Check if the service is already running? + if [ -f /var/lock/subsys/cyrus-imapd ]; then + msg_already_running "Cyrus IMAPD" + return + fi + + msg_starting "Cyrus IMAP Daemon" + /usr/sbin/cyrmaster & + if ps -C cyrmaster >/dev/null 2>&1; then + RETVAL=$? + [ $RETVAL -eq 0 ] && touch /var/lock/subsys/cyrus-imapd + ok + else + fail + fi +} + +stop() { + # Stop daemons. + if [ ! -f /var/lock/subsys/cyrus-imapd ]; then + msg_not_running "Cyrus IMAP Daemon" + return + fi + + msg_stopping "Cyrus IMAP Daemon" + killproc cyrmaster + rm -f /var/lock/subsys/cyrus-imapd +} + +condrestart() { + if [ ! -f /var/lock/subsys/cyrus-imapd ]; then + msg_not_running "Cyrus IMAP Daemon" + RETVAL=$1 + return + fi + + stop + start +} + RETVAL=0 # See how we were called. case "$1" in start) - # Check if the service is already running? - if [ ! -f /var/lock/subsys/cyrus-imapd ]; then - msg_starting cyrus-imapd - /usr/lib/cyrus/cyrus-master & - if ps -C cyrus-master >/dev/null 2>&1; then - RETVAL=$? - [ $RETVAL -eq 0 ] && touch /var/lock/subsys/cyrus-imapd - ok - else - fail - fi - else - # show "%s service is already running." - msg_already_running cyrus-imapd - fi + start ;; stop) - # Stop daemons. - if [ -f /var/lock/subsys/cyrus-imapd ]; then - msg_stopping cyrus-imapd - killproc cyrus-master - rm -f /var/lock/subsys/cyrus-imapd - else - msg_not_running cyrus-imapd - fi + stop ;; - restart|force-reload) - $0 stop - $0 start - RETVAL=$? + restart) + stop + start + ;; + try-restart) + condrestart 0 + ;; + force-reload) + condrestart 7 ;; status) - status cyrus-master + status cyrmaster RETVAL=$? ;; *) - msg_usage "$0 {start|stop|restart|force-reload|status}" + msg_usage "$0 {start|stop|restart|try-restart|force-reload|status}" exit 3 esac exit $RETVAL - -# This must be last line ! -# vi:syntax=sh:tw=78:ts=8:sw=4