am a286480f: Fix the class_reset command

* commit 'a286480f56012abdb4ef4ddab1c19a5c2316b7b8':
  Fix the class_reset command
This commit is contained in:
Ken Sumrall 2011-10-27 02:49:44 +00:00 committed by Android Git Automerger
commit 72410ccfaa
3 changed files with 7 additions and 1 deletions

View File

@ -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
*/
svc->flags |= how;
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);

View File

@ -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 */

View File

@ -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) {