X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fshared%2Fpager.c;h=9fa611479cff0cc10b98c7d60ca0dbbfd3e3f00e;hb=dda3e81486403c097fbcb8c6c41133cda43e1c06;hp=8dddf24f4c7816ba7e739016563f4c92b282cca2;hpb=b47ef6a085bf06a12116422bb023f48a9eaf3379;p=elogind.git diff --git a/src/shared/pager.c b/src/shared/pager.c index 8dddf24f4..9fa611479 100644 --- a/src/shared/pager.c +++ b/src/shared/pager.c @@ -34,13 +34,16 @@ static pid_t pager_pid = 0; _noreturn_ static void pager_fallback(void) { ssize_t n; + do { n = splice(STDIN_FILENO, NULL, STDOUT_FILENO, NULL, 64*1024, 0); } while (n > 0); + if (n < 0) { log_error("Internal pager failed: %m"); _exit(EXIT_FAILURE); } + _exit(EXIT_SUCCESS); }