Loading init/builtins.c +15 −1 Original line number Diff line number Diff line Loading @@ -131,6 +131,18 @@ static void service_start_if_not_disabled(struct service *svc) } } int do_chdir(int nargs, char **args) { chdir(args[1]); return 0; } int do_chroot(int nargs, char **args) { chroot(args[1]); return 0; } int do_class_start(int nargs, char **args) { /* Starting a class does not start services Loading Loading @@ -206,7 +218,7 @@ int do_insmod(int nargs, char **args) int do_import(int nargs, char **args) { return -1; return parse_config_file(args[1]); } int do_mkdir(int nargs, char **args) Loading Loading @@ -400,6 +412,8 @@ int do_restart(int nargs, char **args) int do_trigger(int nargs, char **args) { action_for_each_trigger(args[1], action_add_queue_tail); drain_action_queue(); return 0; } Loading init/devices.c +1 −1 Original line number Diff line number Diff line Loading @@ -307,7 +307,7 @@ static void make_device(const char *path, int block, int major, int minor) chown(path, uid, gid); } #ifdef LOG_UEVENTS #if LOG_UEVENTS static inline suseconds_t get_usecs(void) { Loading init/init.c 100644 → 100755 +3 −4 Original line number Diff line number Diff line Loading @@ -65,8 +65,6 @@ static struct input_keychord *keychords = 0; static int keychords_count = 0; static int keychords_length = 0; static void drain_action_queue(void); static void notify_service_state(const char *name, const char *state) { char pname[PROP_NAME_MAX]; Loading Loading @@ -391,12 +389,13 @@ static int wait_for_one_process(int block) } } svc->flags |= SVC_RESTARTING; /* Execute all onrestart commands for this service. */ list_for_each(node, &svc->onrestart.commands) { cmd = node_to_item(node, struct command, clist); cmd->func(cmd->nargs, cmd->args); } svc->flags |= SVC_RESTARTING; notify_service_state(svc->name, "restarting"); return 0; } Loading Loading @@ -667,7 +666,7 @@ static void get_hardware_name(void) } } static void drain_action_queue(void) void drain_action_queue(void) { struct listnode *node; struct command *cmd; Loading init/init.h +1 −0 Original line number Diff line number Diff line Loading @@ -165,6 +165,7 @@ void service_stop(struct service *svc); void service_start(struct service *svc, const char *dynamic_args); void property_changed(const char *name, const char *value); void drain_action_queue(void); struct action *action_remove_queue_head(void); void action_add_queue_tail(struct action *act); void action_for_each_trigger(const char *trigger, Loading init/keywords.h +4 −0 Original line number Diff line number Diff line #ifndef KEYWORD int do_chroot(int nargs, char **args); int do_chdir(int nargs, char **args); int do_class_start(int nargs, char **args); int do_class_stop(int nargs, char **args); int do_domainname(int nargs, char **args); Loading Loading @@ -32,6 +34,8 @@ enum { K_UNKNOWN, #endif KEYWORD(capability, OPTION, 0, 0) KEYWORD(chdir, COMMAND, 1, do_chdir) KEYWORD(chroot, COMMAND, 1, do_chroot) KEYWORD(class, OPTION, 0, 0) KEYWORD(class_start, COMMAND, 1, do_class_start) KEYWORD(class_stop, COMMAND, 1, do_class_stop) Loading Loading
init/builtins.c +15 −1 Original line number Diff line number Diff line Loading @@ -131,6 +131,18 @@ static void service_start_if_not_disabled(struct service *svc) } } int do_chdir(int nargs, char **args) { chdir(args[1]); return 0; } int do_chroot(int nargs, char **args) { chroot(args[1]); return 0; } int do_class_start(int nargs, char **args) { /* Starting a class does not start services Loading Loading @@ -206,7 +218,7 @@ int do_insmod(int nargs, char **args) int do_import(int nargs, char **args) { return -1; return parse_config_file(args[1]); } int do_mkdir(int nargs, char **args) Loading Loading @@ -400,6 +412,8 @@ int do_restart(int nargs, char **args) int do_trigger(int nargs, char **args) { action_for_each_trigger(args[1], action_add_queue_tail); drain_action_queue(); return 0; } Loading
init/devices.c +1 −1 Original line number Diff line number Diff line Loading @@ -307,7 +307,7 @@ static void make_device(const char *path, int block, int major, int minor) chown(path, uid, gid); } #ifdef LOG_UEVENTS #if LOG_UEVENTS static inline suseconds_t get_usecs(void) { Loading
init/init.c 100644 → 100755 +3 −4 Original line number Diff line number Diff line Loading @@ -65,8 +65,6 @@ static struct input_keychord *keychords = 0; static int keychords_count = 0; static int keychords_length = 0; static void drain_action_queue(void); static void notify_service_state(const char *name, const char *state) { char pname[PROP_NAME_MAX]; Loading Loading @@ -391,12 +389,13 @@ static int wait_for_one_process(int block) } } svc->flags |= SVC_RESTARTING; /* Execute all onrestart commands for this service. */ list_for_each(node, &svc->onrestart.commands) { cmd = node_to_item(node, struct command, clist); cmd->func(cmd->nargs, cmd->args); } svc->flags |= SVC_RESTARTING; notify_service_state(svc->name, "restarting"); return 0; } Loading Loading @@ -667,7 +666,7 @@ static void get_hardware_name(void) } } static void drain_action_queue(void) void drain_action_queue(void) { struct listnode *node; struct command *cmd; Loading
init/init.h +1 −0 Original line number Diff line number Diff line Loading @@ -165,6 +165,7 @@ void service_stop(struct service *svc); void service_start(struct service *svc, const char *dynamic_args); void property_changed(const char *name, const char *value); void drain_action_queue(void); struct action *action_remove_queue_head(void); void action_add_queue_tail(struct action *act); void action_for_each_trigger(const char *trigger, Loading
init/keywords.h +4 −0 Original line number Diff line number Diff line #ifndef KEYWORD int do_chroot(int nargs, char **args); int do_chdir(int nargs, char **args); int do_class_start(int nargs, char **args); int do_class_stop(int nargs, char **args); int do_domainname(int nargs, char **args); Loading Loading @@ -32,6 +34,8 @@ enum { K_UNKNOWN, #endif KEYWORD(capability, OPTION, 0, 0) KEYWORD(chdir, COMMAND, 1, do_chdir) KEYWORD(chroot, COMMAND, 1, do_chroot) KEYWORD(class, OPTION, 0, 0) KEYWORD(class_start, COMMAND, 1, do_class_start) KEYWORD(class_stop, COMMAND, 1, do_class_stop) Loading