>>>
>>> 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.
>
Forgot something, the prestore function leaks the RestoreArgs struct.
--
Andrew Chernow
eSilo, LLC
every bit counts
http://www.esilo.com/