- return run_as(worker, RUN_AS_RMDIR_RECURSIVE, &data, uid, gid);
+ return run_as(RUN_AS_RMDIR_RECURSIVE, &data, uid, gid);
+}
+
+static
+void reset_sighandler(void)
+{
+ int sig;
+
+ for (sig = SIGHUP; sig <= SIGUNUSED; sig++) {
+ /* Skip unblockable signals. */
+ if (sig == SIGKILL || sig == SIGSTOP) {
+ continue;
+ }
+ if (signal(sig, SIG_DFL) == SIG_ERR) {
+ PERROR("reset signal %d", sig);
+ }
+ }