]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
dmesg: Register pager_close as exit handler
authorTobias Stoeckmann <tobias@stoeckmann.org>
Thu, 19 Feb 2026 17:13:25 +0000 (18:13 +0100)
committerTobias Stoeckmann <tobias@stoeckmann.org>
Thu, 19 Feb 2026 17:38:39 +0000 (18:38 +0100)
Make sure that pager is properly closed even in case of err/errx calls
while pager is running.

Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>
sys-utils/dmesg.c

index 854786554ac27deb8447fec3fd72670a87808f21..b6f506034ed0b51ee8bbb56c0a1dbf18d6894940 100644 (file)
@@ -1930,8 +1930,10 @@ int main(int argc, char *argv[])
                        errx(EXIT_FAILURE, _("only kmsg supports multi-line messages"));
                n = prepare_buffer(&ctl, &buf);
                if (n > 0) {
-                       if (ctl.pager)
+                       if (ctl.pager) {
                                pager_open();
+                               atexit(pager_close);
+                       }
                        print_buffer(&ctl, buf, n);
                        if (ctl.pager)
                                pager_close();