diff options
Diffstat (limited to 'src/shared/pager.c')
-rw-r--r-- | src/shared/pager.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/shared/pager.c b/src/shared/pager.c index 8dddf24f4c..9fa611479c 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); } |