RC_SERVICE now points to the service file, so daemons can recall us directly.

This commit is contained in:
Roy Marples 2008-03-11 15:00:16 +00:00
parent 568ec5f343
commit 40e12f6ba0
5 changed files with 9 additions and 7 deletions

View File

@ -2,4 +2,4 @@
# Wrapper for ifwatchd(8)
export IN_BACKGROUND=yes
@PREFIX@@SYSCONFDIR@/init.d/net.$1 --quiet start
${RC_SERVICE} --quiet start

View File

@ -2,4 +2,4 @@
# Wrapper for ifwatchd(8)
export IN_BACKGROUND=yes
@PREFIX@@SYSCONFDIR@/init.d/net.$1 --quiet stop
${RC_SERVICE} --quiet stop

View File

@ -18,6 +18,9 @@ if [ -z "$1" -o -z "$2" ]; then
exit 1
fi
# So daemons know where to recall us if needed
export RC_SERVICE="$1"
# Descript the init script to the user
describe()
{

View File

@ -560,7 +560,6 @@ static void run_script (const char *script)
eerrorx ("%s: failed to exec `%s'", applet, script);
}
#ifndef PREFIX
static void do_coldplug (void)
{
size_t s;
@ -661,7 +660,6 @@ static void do_coldplug (void)
printf (" %s", service);
printf ("%s\n", ecolor (ECOLOR_NORMAL));
}
#endif
#include "_usage.h"
#define getoptstring "o:" getoptstring_COMMON
@ -869,9 +867,9 @@ int main (int argc, char **argv)
}
#endif
#ifndef PREFIX
/* Setup our coldplugged services now */
do_coldplug ();
#endif
rc_plugin_run (RC_HOOK_RUNLEVEL_START_OUT, newlevel);
hook_out = 0;

View File

@ -966,7 +966,8 @@ int start_stop_daemon (int argc, char **argv)
/* Clean the environment of any RC_ variables */
STRLIST_FOREACH (environ, env, i) {
if (strncmp (env, "RC_", 3) == 0 ||
if ((strncmp (env, "RC_", 3) == 0 &&
strncmp (env, "RC_SERVICE=", strlen ("RC_SERVICE=")) != 0) ||
strncmp (env, "SSD_NICELEVEL=", strlen ("SSD_NICELEVEL=")) == 0)
continue;