diff options
Diffstat (limited to 'src/pies.c')
-rw-r--r-- | src/pies.c | 16 |
1 files changed, 11 insertions, 5 deletions
@@ -959,8 +959,6 @@ _cb_flags (enum grecs_callback_command cmd, return 0; } -static const char valid_runlevels[] = "0123456789Ss"; - static int _cb_initdefault (enum grecs_callback_command cmd, grecs_locus_t *locus, @@ -975,7 +973,7 @@ _cb_initdefault (enum grecs_callback_command cmd, grecs_error (locus, 0, _("argument must be a single character")); return 1; } - if (!strchr (valid_runlevels, value->v.string[0])) + if (!is_valid_runlevel (value->v.string[0])) { grecs_error (locus, 0, _("not a valid runlevel")); return 1; @@ -995,7 +993,7 @@ _cb_runlevels (enum grecs_callback_command cmd, return 1; for (p = value->v.string; *p; p++) { - if (!strchr (valid_runlevels, *p)) + if (!is_valid_runlevel (*p)) { grecs_error (locus, 0, _("not a valid runlevel: %c")); return 1; @@ -2332,7 +2330,7 @@ main (int argc, char **argv) (unsigned long) pid); exit (EX_USAGE); } - + logmsg (LOG_INFO, _("%s %s starting"), proginfo.package, proginfo.version); if (!foreground) @@ -2381,6 +2379,14 @@ main (int argc, char **argv) progman_dump_stats (statfile); action = ACTION_CONT; break; + + case ACTION_STOP: + case ACTION_RESTART: + if (init_process) + { + debug (1, ("ignoring stop/restart")); + action = ACTION_CONT; + } } if (action == ACTION_CONT) { |