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