From 6554026e0c8a3eae66a2091af726c67091df9109 Mon Sep 17 00:00:00 2001 From: Volker Stolz Date: Tue, 1 Feb 2005 11:12:05 +0000 Subject: After a crash jabberd refuses to run if a pidfile exists. Check if a process with the pid contained in jabber.pid is running and removes the file if not. PR: ports/75824 Submitted by: oss-freebsd-ports AT technorama DOT net --- net-im/jabber/Makefile | 1 + net-im/jabber/files/jabberd.sh | 13 ++++++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) (limited to 'net-im/jabber') diff --git a/net-im/jabber/Makefile b/net-im/jabber/Makefile index af131afe9f1b..a3431e6adfa7 100644 --- a/net-im/jabber/Makefile +++ b/net-im/jabber/Makefile @@ -7,6 +7,7 @@ PORTNAME= jabber PORTVERSION= 1.4.3.1 +PORTREVISION= 1 CATEGORIES= net MASTER_SITES= http://devel.amessage.info/jabberd14/ DISTNAME= ${PORTNAME}d-${PORTVERSION} diff --git a/net-im/jabber/files/jabberd.sh b/net-im/jabber/files/jabberd.sh index 2ad8b7ea99c7..109855681eff 100644 --- a/net-im/jabber/files/jabberd.sh +++ b/net-im/jabber/files/jabberd.sh @@ -19,8 +19,19 @@ cd ${RUNDIR} || exit case ${1:-start} in start) - su -f -m ${USER} -c "jabberd -B -h ${HOSTNAME} -c ${PREFIX}/etc/jabber.xml" ;; + if [ -f jabber.pid ]; then + pid=`cat jabber.pid` + if [ ! -z "$pid" ] && kill -0 -- "$pid"; then + echo "A pidfile already exists at the specified location." + echo "Check to ensure another copy of the server is not running, or remove the existing file." + exit 1 + fi + rm -f ${RUNDIR}/jabber.pid; + fi + + su -f -m ${USER} -c "jabberd -B -h ${HOSTNAME} -c ${PREFIX}/etc/jabber.xml" + ;; stop) killall -SIGKILL -u ${USER} jabberd; rm -f ${RUNDIR}/jabber.pid; -- cgit v1.2.3