Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a286480f authored by Ken Sumrall's avatar Ken Sumrall
Browse files

Fix the class_reset command

The class_reset command used to reset services that had been set to
"disabled" in the init.rc file to a non-disabled state.  Now, if the
service was originally set to "disabled", have the reset command set
it back to disabled.  Otherwise, set it to the "reset" state as it
currently does.

Change-Id: I0c10582e46a8e443d4748d9d893ae762b19b653a
parent aa75df74
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -315,7 +315,11 @@ static void service_stop_or_reset(struct service *svc, int how)
        /* if the service has not yet started, prevent
         * it from auto-starting with its class
         */
    if (how == SVC_RESET) {
        svc->flags |= (svc->flags & SVC_RC_DISABLED) ? SVC_DISABLED : SVC_RESET;
    } else {
        svc->flags |= how;
    }

    if (svc->pid) {
        NOTICE("service '%s' is being killed\n", svc->name);
+1 −0
Original line number Diff line number Diff line
@@ -71,6 +71,7 @@ struct svcenvinfo {
#define SVC_CRITICAL    0x20  /* will reboot into recovery if keeps crashing */
#define SVC_RESET       0x40  /* Use when stopping a process, but not disabling
                                 so it can be restarted with its class */
#define SVC_RC_DISABLED 0x80  /* Remember if the disabled flag was set in the rc script */

#define NR_SVC_SUPP_GIDS 12    /* twelve supplementary groups */

+1 −0
Original line number Diff line number Diff line
@@ -499,6 +499,7 @@ static void parse_line_service(struct parse_state *state, int nargs, char **args
        break;
    case K_disabled:
        svc->flags |= SVC_DISABLED;
        svc->flags |= SVC_RC_DISABLED;
        break;
    case K_ioprio:
        if (nargs != 3) {