From: Karel Zak Date: Wed, 16 Nov 2022 08:19:18 +0000 (+0100) Subject: script: fix use of utempter X-Git-Tag: v2.39-rc1~420 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=6ed644fbf4869a7e042826900eff531cf6660cfb;p=thirdparty%2Futil-linux.git script: fix use of utempter libutempter uses SIGCHLD, but script(1) pty implementation completely control all signals by signalfd and utempter does not work. The solution is to setup signalfd later (after libutempter use). Fixes: https://github.com/util-linux/util-linux/issues/1904 Signed-off-by: Karel Zak --- diff --git a/term-utils/script.c b/term-utils/script.c index c918ecd6e9..516a6cf93e 100644 --- a/term-utils/script.c +++ b/term-utils/script.c @@ -947,13 +947,16 @@ int main(int argc, char **argv) printf(_(".\n")); } -#ifdef HAVE_LIBUTEMPTER - utempter_add_record(ul_pty_get_childfd(ctl.pty), NULL); -#endif if (ul_pty_setup(ctl.pty)) err(EXIT_FAILURE, _("failed to create pseudo-terminal")); +#ifdef HAVE_LIBUTEMPTER + utempter_add_record(ul_pty_get_childfd(ctl.pty), NULL); +#endif + + if (ul_pty_signals_setup(ctl.pty)) + err(EXIT_FAILURE, _("failed to initialize signals handler")); fflush(stdout); /*