Lines 830-836
Link Here
|
830 |
rc_service_in_runlevel (service, RC_LEVEL_BOOT)) |
830 |
rc_service_in_runlevel (service, RC_LEVEL_BOOT)) |
831 |
ewarn ("WARNING: you are stopping a boot service"); |
831 |
ewarn ("WARNING: you are stopping a boot service"); |
832 |
|
832 |
|
833 |
if (deps || ! rc_service_state (service, rc_service_wasinactive)) { |
833 |
if (deps && ! rc_service_state (service, rc_service_wasinactive)) { |
834 |
int depoptions = RC_DEP_TRACE; |
834 |
int depoptions = RC_DEP_TRACE; |
835 |
char *svc; |
835 |
char *svc; |
836 |
int i; |
836 |
int i; |
Lines 977-994
Link Here
|
977 |
restart_services = NULL; |
977 |
restart_services = NULL; |
978 |
} |
978 |
} |
979 |
|
979 |
|
980 |
#define getoptstring "dCDNqvh" |
980 |
#include "_usage.h" |
|
|
981 |
#define getoptstring "dDqsv" getoptstring_COMMON |
981 |
static struct option longopts[] = { |
982 |
static struct option longopts[] = { |
982 |
{ "debug", 0, NULL, 'd'}, |
983 |
{ "debug", 0, NULL, 'd'}, |
983 |
{ "nocolor", 0, NULL, 'C'}, |
984 |
{ "ifstarted", 0, NULL, 's'}, |
984 |
{ "nocolour", 0, NULL, 'C'}, |
|
|
985 |
{ "nodeps", 0, NULL, 'D'}, |
985 |
{ "nodeps", 0, NULL, 'D'}, |
986 |
{ "quiet", 0, NULL, 'q'}, |
986 |
{ "quiet", 0, NULL, 'q'}, |
987 |
{ "verbose", 0, NULL, 'v'}, |
987 |
{ "verbose", 0, NULL, 'v'}, |
988 |
{ "help", 0, NULL, 'h'}, |
988 |
longopts_COMMON |
989 |
{ NULL, 0, NULL, 0} |
989 |
{ NULL, 0, NULL, 0} |
990 |
}; |
990 |
}; |
991 |
// #include "_usage.c" |
991 |
#include "_usage.c" |
992 |
|
992 |
|
993 |
int runscript (int argc, char **argv) |
993 |
int runscript (int argc, char **argv) |
994 |
{ |
994 |
{ |
Lines 1124-1129
Link Here
|
1124 |
execl (RCSCRIPT_HELP, RCSCRIPT_HELP, service, (char *) NULL); |
1124 |
execl (RCSCRIPT_HELP, RCSCRIPT_HELP, service, (char *) NULL); |
1125 |
eerrorx ("%s: failed to exec `" RCSCRIPT_HELP "': %s", |
1125 |
eerrorx ("%s: failed to exec `" RCSCRIPT_HELP "': %s", |
1126 |
applet, strerror (errno)); |
1126 |
applet, strerror (errno)); |
|
|
1127 |
case 's': |
1128 |
if (! rc_service_state (service, rc_service_started)) |
1129 |
exit (EXIT_FAILURE); |
1130 |
break; |
1127 |
case 'C': |
1131 |
case 'C': |
1128 |
setenv ("RC_NOCOLOR", "yes", 1); |
1132 |
setenv ("RC_NOCOLOR", "yes", 1); |
1129 |
break; |
1133 |
break; |
Lines 1137-1143
Link Here
|
1137 |
setenv ("RC_VERBOSE", "yes", 1); |
1141 |
setenv ("RC_VERBOSE", "yes", 1); |
1138 |
break; |
1142 |
break; |
1139 |
default: |
1143 |
default: |
1140 |
exit (EXIT_FAILURE); |
1144 |
usage (EXIT_FAILURE); |
1141 |
} |
1145 |
} |
1142 |
|
1146 |
|
1143 |
/* Save the IN_BACKGROUND env flag so it's ONLY passed to the service |
1147 |
/* Save the IN_BACKGROUND env flag so it's ONLY passed to the service |
Lines 1240-1262
Link Here
|
1240 |
} else if (strcmp (optarg, "start") == 0) { |
1244 |
} else if (strcmp (optarg, "start") == 0) { |
1241 |
svc_start (deps); |
1245 |
svc_start (deps); |
1242 |
} else if (strcmp (optarg, "stop") == 0) { |
1246 |
} else if (strcmp (optarg, "stop") == 0) { |
1243 |
if (in_background) |
1247 |
if (deps && in_background) |
1244 |
get_started_services (); |
1248 |
get_started_services (); |
1245 |
|
1249 |
|
1246 |
svc_stop (deps); |
1250 |
svc_stop (deps); |
1247 |
|
1251 |
|
1248 |
if (! in_background && |
1252 |
if (deps) { |
1249 |
! rc_runlevel_stopping () && |
1253 |
if (! in_background && |
1250 |
rc_service_state (service, rc_service_stopped)) |
1254 |
! rc_runlevel_stopping () && |
1251 |
uncoldplug (); |
1255 |
rc_service_state (service, rc_service_stopped)) |
|
|
1256 |
uncoldplug (); |
1252 |
|
1257 |
|
1253 |
if (in_background && |
1258 |
if (in_background && |
1254 |
rc_service_state (service, rc_service_inactive)) |
1259 |
rc_service_state (service, rc_service_inactive)) |
1255 |
{ |
1260 |
{ |
1256 |
int j; |
1261 |
int j; |
1257 |
STRLIST_FOREACH (restart_services, svc, j) |
1262 |
STRLIST_FOREACH (restart_services, svc, j) |
1258 |
if (rc_service_state (svc, rc_service_stopped)) |
1263 |
if (rc_service_state (svc, rc_service_stopped)) |
1259 |
rc_schedule_start_service (service, svc); |
1264 |
rc_schedule_start_service (service, svc); |
|
|
1265 |
} |
1260 |
} |
1266 |
} |
1261 |
} else if (strcmp (optarg, "zap") == 0) { |
1267 |
} else if (strcmp (optarg, "zap") == 0) { |
1262 |
einfo ("Manually resetting %s to stopped state", applet); |
1268 |
einfo ("Manually resetting %s to stopped state", applet); |