diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2015-01-05 17:37:58 +0300 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2015-01-05 17:37:58 +0300 |
commit | da9212667c99f2f2121747c4715d067deb7c155b (patch) | |
tree | 66a670e6d78ca899a454a42228abbbc2740fad0d /libbb | |
parent | 08b90a9d10f2f712c6e16c118328d85930762b92 (diff) |
libbb: code shrink by factoring out common update_utmp_DEAD_PROCESS
function old new delta
update_utmp_DEAD_PROCESS - 17 +17
telnetd_main 1685 1674 -11
mark_terminated 56 45 -11
handle_sigchld 74 63 -11
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'libbb')
-rw-r--r-- | libbb/utmp.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/libbb/utmp.c b/libbb/utmp.c index 09443fb6c..8ad9ba27e 100644 --- a/libbb/utmp.c +++ b/libbb/utmp.c @@ -130,3 +130,17 @@ void FAST_FUNC update_utmp(pid_t pid, int new_type, const char *tty_name, const updwtmp(bb_path_wtmp_file, &utent); #endif } + +/* man utmp: + * When init(8) finds that a process has exited, it locates its utmp entry + * by ut_pid, sets ut_type to DEAD_PROCESS, and clears ut_user, ut_host + * and ut_time with null bytes. + * [same applies to other processes which maintain utmp entries, like telnetd] + * + * We do not bother actually clearing fields: + * it might be interesting to know who was logged in and from where + */ +void FAST_FUNC update_utmp_DEAD_PROCESS(pid_t pid) +{ + update_utmp(pid, DEAD_PROCESS, NULL, NULL, NULL); +} |