aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/bin/pg_dump/parallel.c34
1 files changed, 6 insertions, 28 deletions
diff --git a/src/bin/pg_dump/parallel.c b/src/bin/pg_dump/parallel.c
index a6a6bfd3fb0..0908b8a40e2 100644
--- a/src/bin/pg_dump/parallel.c
+++ b/src/bin/pg_dump/parallel.c
@@ -94,11 +94,7 @@ static int piperead(int s, char *buf, int len);
#else /* !WIN32 */
-/*
- * Variables for handling signals. aborting is only ever used in the master,
- * the workers just need wantAbort.
- */
-static bool aborting = false;
+/* Signal handler flag */
static volatile sig_atomic_t wantAbort = 0;
/* Non-Windows implementation of pipe access */
@@ -300,14 +296,6 @@ archive_close_connection(int code, void *arg)
if (si->AHX)
DisconnectDatabase(si->AHX);
-#ifndef WIN32
-
- /*
- * Setting aborting to true shuts off error/warning messages that
- * are no longer useful once we start killing workers.
- */
- aborting = true;
-#endif
ShutdownWorkersHard(si->pstate);
}
else
@@ -1177,11 +1165,9 @@ select_loop(int maxFd, fd_set *workerset)
/*
* If we Ctrl-C the master process, it's likely that we interrupt
* select() here. The signal handler will set wantAbort == true and
- * the shutdown journey starts from here. Note that we'll come back
- * here later when we tell all workers to terminate and read their
- * responses. But then we have aborting set to true.
+ * the shutdown journey starts from here.
*/
- if (wantAbort && !aborting)
+ if (wantAbort)
exit_horribly(modulename, "terminated by user\n");
if (i < 0 && errno == EINTR)
@@ -1278,17 +1264,9 @@ sendMessageToWorker(ParallelState *pstate, int worker, const char *str)
if (pipewrite(pstate->parallelSlot[worker].pipeWrite, str, len) != len)
{
- /*
- * If we're already aborting anyway, don't care if we succeed or not.
- * The child might have gone already. (XXX but if we're aborting
- * already, why are we here at all?)
- */
-#ifndef WIN32
- if (!aborting)
-#endif
- exit_horribly(modulename,
- "could not write to the communication channel: %s\n",
- strerror(errno));
+ exit_horribly(modulename,
+ "could not write to the communication channel: %s\n",
+ strerror(errno));
}
}