- if (verbose > 3) {
- rprintf(FINFO,"_exit_cleanup(code=%d, file=%s, line=%d): entered\n",
- code, file, line);
-@@ -134,8 +127,6 @@ void _exit_cleanup(int code, const char
- io_flush(FULL_FLUSH);
- if (cleanup_fname)
- do_unlink(cleanup_fname);
-- if (code)
-- kill_all(SIGUSR1);
- if (cleanup_pid && cleanup_pid == getpid()) {
- char *pidf = lp_pid_file();
- if (pidf && *pidf)
+ if (exit_code) /* Preserve first error code when recursing. */
+ code = exit_code;
+
+@@ -157,8 +150,6 @@ NORETURN void _exit_cleanup(int code, co
+
+ if (cleanup_fname)
+ do_unlink(cleanup_fname);
+- if (code)
+- kill_all(SIGUSR1);
+ if (cleanup_pid && cleanup_pid == getpid()) {
+ char *pidf = lp_pid_file();
+ if (pidf && *pidf)