diff options
author | Lennart Poettering <lennart@poettering.net> | 2011-05-18 01:07:31 +0200 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2011-05-18 01:07:36 +0200 |
commit | 6ea832a20700f5282c08c70f38422c6ab290a0b5 (patch) | |
tree | bcd9a7705c87f3828adf70938ec59cdcfe368e72 /src/service.c | |
parent | 9131f660eedb29d18a29e6efff49c485e683c56c (diff) |
exec: hangup/reset/deallocate VTs in gettys
Explicitly disconnect all clients from a VT when a getty starts/finishes
(requires TIOCVHANGUP, available in 2.6.29).
Explicitly deallocate getty VTs in order to flush scrollback buffer.
Explicitly reset terminals to a defined state before spawning getty.
Diffstat (limited to 'src/service.c')
-rw-r--r-- | src/service.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/service.c b/src/service.c index f826754152..d59c4cbad8 100644 --- a/src/service.c +++ b/src/service.c @@ -2571,7 +2571,7 @@ static void service_sigchld_event(Unit *u, pid_t pid, int code, int status) { if (s->main_pid == pid) { s->main_pid = 0; - exec_status_exit(&s->main_exec_status, pid, code, status, s->exec_context.utmp_id); + exec_status_exit(&s->main_exec_status, &s->exec_context, pid, code, status); /* If this is not a forking service than the main * process got started and hence we copy the exit @@ -2650,7 +2650,7 @@ static void service_sigchld_event(Unit *u, pid_t pid, int code, int status) { s->control_pid = 0; if (s->control_command) { - exec_status_exit(&s->control_command->exec_status, pid, code, status, s->exec_context.utmp_id); + exec_status_exit(&s->control_command->exec_status, &s->exec_context, pid, code, status); if (s->control_command->ignore) success = true; |