Gentoo Archives: gentoo-commits

From: "Peter Volkov (pva)" <pva@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in net-im/ejabberd/files: ejabberd-3.initd
Date: Fri, 28 May 2010 10:52:26
Message-Id: 20100528105220.92BEA2CE3C@corvid.gentoo.org
1 pva 10/05/28 10:52:20
2
3 Modified: ejabberd-3.initd
4 Log:
5 Make init script a bit more resistant, e.g. restart should now work, thank Rion for report.
6 (Portage version: 2.1.8.3/cvs/Linux x86_64)
7
8 Revision Changes Path
9 1.2 net-im/ejabberd/files/ejabberd-3.initd
10
11 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-im/ejabberd/files/ejabberd-3.initd?rev=1.2&view=markup
12 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-im/ejabberd/files/ejabberd-3.initd?rev=1.2&content-type=text/plain
13 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-im/ejabberd/files/ejabberd-3.initd?r1=1.1&r2=1.2
14
15 Index: ejabberd-3.initd
16 ===================================================================
17 RCS file: /var/cvsroot/gentoo-x86/net-im/ejabberd/files/ejabberd-3.initd,v
18 retrieving revision 1.1
19 retrieving revision 1.2
20 diff -u -r1.1 -r1.2
21 --- ejabberd-3.initd 26 May 2010 20:25:25 -0000 1.1
22 +++ ejabberd-3.initd 28 May 2010 10:52:20 -0000 1.2
23 @@ -1,7 +1,7 @@
24 #!/sbin/runscript
25 # Copyright 1999-2010 Gentoo Foundation
26 # Distributed under the terms of the GNU General Public License v2
27 -# $Header: /var/cvsroot/gentoo-x86/net-im/ejabberd/files/ejabberd-3.initd,v 1.1 2010/05/26 20:25:25 pva Exp $
28 +# $Header: /var/cvsroot/gentoo-x86/net-im/ejabberd/files/ejabberd-3.initd,v 1.2 2010/05/28 10:52:20 pva Exp $
29
30 depend() {
31 use dns
32 @@ -10,13 +10,37 @@
33 }
34
35 start() {
36 + if ejabberdctl status >/dev/null 2>&1; then
37 + ewarn "ejabberd is already started (manually?)."
38 + return 0
39 + fi
40 ebegin "Starting ejabberd"
41 /usr/sbin/ejabberdctl ${EJABBERDCTL_OPT} start
42 eend $?
43 }
44
45 stop() {
46 + if ejabberdctl status >/dev/null 2>&1 || test $? = 3; then
47 + ewarn "ejabberd is already stopped (manually?)."
48 + return 0
49 + fi
50 ebegin "Stopping ejabberd"
51 - /usr/sbin/ejabberdctl stop
52 - eend $?
53 + if /usr/sbin/ejabberdctl stop >/dev/null 2>&1; then
54 + cnt=0
55 + sleep 1
56 + while ejabberdctl status >/dev/null 2>&1 || test $? = 1; do
57 + echo -n .
58 + cnt=`expr $cnt + 1`
59 + if [ $cnt -ge 60 ] ; then
60 + eend 1
61 + break
62 + fi
63 + sleep 1
64 + done
65 + eend 0
66 + else
67 + eend 1
68 + einfo "Please, run '/usr/sbin/ejabberdctl stop' to see what's going on."
69 + fi
70 + eend 0
71 }