Re: parallel restore vs. windows - Mailing list pgsql-hackers

From Andrew Chernow
Subject Re: parallel restore vs. windows
Date
Msg-id 493DEE0B.1010202@esilo.com
Whole thread Raw
In response to Re: parallel restore vs. windows  (Andrew Dunstan <andrew@dunslane.net>)
Responses Re: parallel restore vs. windows  (Andrew Chernow <ac@esilo.com>)
Re: parallel restore vs. windows  (Andrew Dunstan <andrew@dunslane.net>)
List pgsql-hackers
Andrew Dunstan wrote:
> 
> 
> Andrew Chernow wrote:
>>
>>>> HANDLE h = (HANDLE)_beginthreadex(NULL, 0, thread_start, arg, 0, NULL);
>>>
>>> This didn't give me any more joy, unfortunately. But you're right, I 
>>> should be using it.
>>>
>>
>> Are these threads sharing memory, intentionally or by mistake?
> 
> 
> Things they write, and things they read but might not be stable, are not 
> supposed to be shared. If they are it's a mistake.
> 

Looks like the ArchiveHandle variable 'AH' and the TocEntry 'next_work_item' are 
not being deep copied at line 315 of your patch, where you prepare the 
RestoreArgs struct for the thread.  Every thread is accessing and possibly 
updating the members of these structs that need to be deep copied.

-- 
Andrew Chernow
eSilo, LLC
every bit counts
http://www.esilo.com/


pgsql-hackers by date:

Previous
From: Andrew Dunstan
Date:
Subject: Re: parallel restore vs. windows
Next
From: Andrew Chernow
Date:
Subject: Re: parallel restore vs. windows