aboutsummaryrefslogtreecommitdiff
path: root/src/bin/pg_dump/parallel.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/bin/pg_dump/parallel.c')
-rw-r--r--src/bin/pg_dump/parallel.c30
1 files changed, 10 insertions, 20 deletions
diff --git a/src/bin/pg_dump/parallel.c b/src/bin/pg_dump/parallel.c
index ce5e4723475..d8bd9a9e378 100644
--- a/src/bin/pg_dump/parallel.c
+++ b/src/bin/pg_dump/parallel.c
@@ -46,8 +46,6 @@ static int piperead(int s, char *buf, int len);
typedef struct
{
ArchiveHandle *AH;
- RestoreOptions *ropt;
- DumpOptions *dopt;
int worker;
int pipeRead;
int pipeWrite;
@@ -87,13 +85,11 @@ static void WaitForTerminatingWorkers(ParallelState *pstate);
#ifndef WIN32
static void sigTermHandler(int signum);
#endif
-static void SetupWorker(ArchiveHandle *AH, int pipefd[2], int worker,
- DumpOptions *dopt,
- RestoreOptions *ropt);
+static void SetupWorker(ArchiveHandle *AH, int pipefd[2], int worker);
static bool HasEveryWorkerTerminated(ParallelState *pstate);
static void lockTableNoWait(ArchiveHandle *AH, TocEntry *te);
-static void WaitForCommands(ArchiveHandle *AH, DumpOptions *dopt, int pipefd[2]);
+static void WaitForCommands(ArchiveHandle *AH, int pipefd[2]);
static char *getMessageFromMaster(int pipefd[2]);
static void sendMessageToMaster(int pipefd[2], const char *str);
static int select_loop(int maxFd, fd_set *workerset);
@@ -435,9 +431,7 @@ sigTermHandler(int signum)
* worker process.
*/
static void
-SetupWorker(ArchiveHandle *AH, int pipefd[2], int worker,
- DumpOptions *dopt,
- RestoreOptions *ropt)
+SetupWorker(ArchiveHandle *AH, int pipefd[2], int worker)
{
/*
* Call the setup worker function that's defined in the ArchiveHandle.
@@ -446,11 +440,11 @@ SetupWorker(ArchiveHandle *AH, int pipefd[2], int worker,
* properly when we shut down. This happens only that way when it is
* brought down because of an error.
*/
- (AH->SetupWorkerPtr) ((Archive *) AH, dopt, ropt);
+ (AH->SetupWorkerPtr) ((Archive *) AH);
Assert(AH->connection != NULL);
- WaitForCommands(AH, dopt, pipefd);
+ WaitForCommands(AH, pipefd);
closesocket(pipefd[PIPE_READ]);
closesocket(pipefd[PIPE_WRITE]);
@@ -463,13 +457,11 @@ init_spawned_worker_win32(WorkerInfo *wi)
ArchiveHandle *AH;
int pipefd[2] = {wi->pipeRead, wi->pipeWrite};
int worker = wi->worker;
- DumpOptions *dopt = wi->dopt;
- RestoreOptions *ropt = wi->ropt;
AH = CloneArchive(wi->AH);
free(wi);
- SetupWorker(AH, pipefd, worker, dopt, ropt);
+ SetupWorker(AH, pipefd, worker);
DeCloneArchive(AH);
_endthreadex(0);
@@ -483,7 +475,7 @@ init_spawned_worker_win32(WorkerInfo *wi)
* of threads while it does a fork() on Unix.
*/
ParallelState *
-ParallelBackupStart(ArchiveHandle *AH, DumpOptions *dopt, RestoreOptions *ropt)
+ParallelBackupStart(ArchiveHandle *AH)
{
ParallelState *pstate;
int i;
@@ -545,8 +537,6 @@ ParallelBackupStart(ArchiveHandle *AH, DumpOptions *dopt, RestoreOptions *ropt)
/* Allocate a new structure for every worker */
wi = (WorkerInfo *) pg_malloc(sizeof(WorkerInfo));
- wi->ropt = ropt;
- wi->dopt = dopt;
wi->worker = i;
wi->AH = AH;
wi->pipeRead = pstate->parallelSlot[i].pipeRevRead = pipeMW[PIPE_READ];
@@ -601,7 +591,7 @@ ParallelBackupStart(ArchiveHandle *AH, DumpOptions *dopt, RestoreOptions *ropt)
closesocket(pstate->parallelSlot[j].pipeWrite);
}
- SetupWorker(pstate->parallelSlot[i].args->AH, pipefd, i, dopt, ropt);
+ SetupWorker(pstate->parallelSlot[i].args->AH, pipefd, i);
exit(0);
}
@@ -859,7 +849,7 @@ lockTableNoWait(ArchiveHandle *AH, TocEntry *te)
* exit.
*/
static void
-WaitForCommands(ArchiveHandle *AH, DumpOptions *dopt, int pipefd[2])
+WaitForCommands(ArchiveHandle *AH, int pipefd[2])
{
char *command;
DumpId dumpId;
@@ -899,7 +889,7 @@ WaitForCommands(ArchiveHandle *AH, DumpOptions *dopt, int pipefd[2])
* The message we return here has been pg_malloc()ed and we are
* responsible for free()ing it.
*/
- str = (AH->WorkerJobDumpPtr) (AH, dopt, te);
+ str = (AH->WorkerJobDumpPtr) (AH, te);
Assert(AH->connection != NULL);
sendMessageToMaster(pipefd, str);
free(str);