- Cannot use stdio in signal handlers, so you cannot safely call
fflush.
- cannot call exit() but only _exit()
if (waiting < 0) {
if (errno == EINTR)
continue;
- err(EXIT_FAILURE, _("waitpid failed (%s)"), strerror(errno));
+ /* Can't err() on signal handler */
+ ignore_result(write(STDERR_FILENO, "waitpid failed", 14));
+ _exit(EXIT_FAILURE);
}
if (waiting != pid)
return -1;
if (pager_process.pid == 0)
return;
- fflush(stdout);
- fflush(stderr);
/* signal EOF to pager */
close(STDOUT_FILENO);
close(STDERR_FILENO);