Hiroshi Ito writes:
"kill -HUP 1" reloads inittab, and when I append one line to inittab and send HUP signal two times, It will starts 2 process. patch against current CVS is attached.
This commit is contained in:
parent
c00e11df85
commit
2271809d75
@ -846,7 +846,7 @@ static void cont_handler(int sig)
|
||||
|
||||
static void new_init_action(int action, const char *command, const char *cons)
|
||||
{
|
||||
struct init_action *new_action, *a;
|
||||
struct init_action *new_action, *a, *last;
|
||||
|
||||
if (*cons == '\0')
|
||||
cons = console;
|
||||
@ -864,16 +864,17 @@ static void new_init_action(int action, const char *command, const char *cons)
|
||||
}
|
||||
|
||||
/* Append to the end of the list */
|
||||
for (a = init_action_list; a && a->next; a = a->next) {
|
||||
for (a = last = init_action_list; a; a = a->next) {
|
||||
/* don't enter action if it's already in the list */
|
||||
if ((strcmp(a->command, command) == 0) &&
|
||||
(strcmp(a->terminal, cons) ==0)) {
|
||||
free(new_action);
|
||||
return;
|
||||
}
|
||||
last = a;
|
||||
}
|
||||
if (a) {
|
||||
a->next = new_action;
|
||||
if (last) {
|
||||
last->next = new_action;
|
||||
} else {
|
||||
init_action_list = new_action;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user