From 076d29a1eed5fe51fb2b25b98fcde9dd7c506902 Mon Sep 17 00:00:00 2001 From: Alvaro Herrera Date: Tue, 14 Oct 2014 17:33:36 -0300 Subject: [PATCH] Blind attempt at fixing Win32 pg_dump issues Per buildfarm failures --- src/bin/pg_dump/parallel.c | 5 ++++- src/bin/pg_dump/pg_backup_utils.c | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/bin/pg_dump/parallel.c b/src/bin/pg_dump/parallel.c index 3b8d5848b3..54abecbc09 100644 --- a/src/bin/pg_dump/parallel.c +++ b/src/bin/pg_dump/parallel.c @@ -47,6 +47,7 @@ typedef struct { ArchiveHandle *AH; RestoreOptions *ropt; + DumpOptions *dopt; int worker; int pipeRead; int pipeWrite; @@ -464,12 +465,13 @@ 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, ropt); + SetupWorker(AH, pipefd, worker, dopt, ropt); DeCloneArchive(AH); _endthreadex(0); @@ -546,6 +548,7 @@ ParallelBackupStart(ArchiveHandle *AH, DumpOptions *dopt, RestoreOptions *ropt) 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]; diff --git a/src/bin/pg_dump/pg_backup_utils.c b/src/bin/pg_dump/pg_backup_utils.c index 0d7c6dbbf0..47cb142fa5 100644 --- a/src/bin/pg_dump/pg_backup_utils.c +++ b/src/bin/pg_dump/pg_backup_utils.c @@ -13,6 +13,7 @@ */ #include "postgres_fe.h" +#include "parallel.h" #include "pg_backup_utils.h" /* Globals exported by this file */