From 076d29a1eed5fe51fb2b25b98fcde9dd7c506902 Mon Sep 17 00:00:00 2001
From: Alvaro Herrera <alvherre@alvh.no-ip.org>
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 3b8d5848b3a..54abecbc091 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 0d7c6dbbf07..47cb142fa57 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 */
-- 
GitLab