+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
+}
+