Gentoo Archives: gentoo-commits

From: "Doug Goldstein (cardoe)" <cardoe@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in sys-apps/openrc/files/0.4.0: 0004-s-s-d-retry.patch
Date: Mon, 29 Dec 2008 22:57:53
Message-Id: E1LHR3X-0004M2-3L@stork.gentoo.org
1 cardoe 08/12/29 22:57:51
2
3 Added: 0004-s-s-d-retry.patch
4 Log:
5 fix s-s-d signals on retry. bug #252621. remove old versions
6 (Portage version: 2.1.6.4/cvs/Linux 2.6.28-gentoo x86_64)
7
8 Revision Changes Path
9 1.1 sys-apps/openrc/files/0.4.0/0004-s-s-d-retry.patch
10
11 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-apps/openrc/files/0.4.0/0004-s-s-d-retry.patch?rev=1.1&view=markup
12 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-apps/openrc/files/0.4.0/0004-s-s-d-retry.patch?rev=1.1&content-type=text/plain
13
14 Index: 0004-s-s-d-retry.patch
15 ===================================================================
16 Index: /trunk/src/rc/start-stop-daemon.c
17 ===================================================================
18 --- /trunk/src/rc/start-stop-daemon.c (revision 1453)
19 +++ /trunk/src/rc/start-stop-daemon.c (revision 1460)
20 @@ -627,4 +627,5 @@
21 char *name = NULL;
22 char *pidfile = NULL;
23 + char *retry = NULL;
24 int sig = 0;
25 int nicelevel = 0;
26 @@ -695,5 +696,5 @@
27
28 case 'R': /* --retry <schedule>|<timeout> */
29 - parse_schedule(optarg, sig);
30 + retry = optarg;
31 break;
32
33 @@ -854,5 +855,7 @@
34 *--argv = exec;
35
36 - if (stop || sig) {
37 + if (stop || sig != 0) {
38 + if (sig == 0)
39 + sig = SIGTERM;
40 if (!*argv && !pidfile && !name && !uid)
41 eerrorx("%s: --stop needs --exec, --pidfile,"
42 @@ -877,4 +880,5 @@
43 " with --background", applet);
44 }
45 +
46 /* Expand ~ */
47 if (ch_dir && *ch_dir == '~')
48 @@ -956,14 +960,14 @@
49
50 if (stop || sig) {
51 - if (!sig)
52 + if (sig == 0)
53 sig = SIGTERM;
54 if (!stop)
55 oknodo = true;
56 - if (!TAILQ_FIRST(&schedule)) {
57 - if (test || oknodo)
58 - parse_schedule("0", sig);
59 - else
60 - parse_schedule(NULL, sig);
61 - }
62 + if (retry)
63 + parse_schedule(retry, sig);
64 + else if (test || oknodo)
65 + parse_schedule("0", sig);
66 + else
67 + parse_schedule(NULL, sig);
68 i = run_stop_schedule(exec, (const char *const *)margv,
69 pidfile, uid, quiet, verbose, test);