From: Karsten Blees Date: Fri, 21 Mar 2014 18:40:19 GMT Subject: Re: [PATCH] Enable index-pack threading in msysgit. Message-ID: <532C8793.8050202@gmail.com> In-Reply-To: Am 20.03.2014 02:25, schrieb Duy Nguyen: > On Thu, Mar 20, 2014 at 4:35 AM, Stefan Zager wrote: >> This adds a Windows implementation of pread. Note that it is NOT >> safe to intersperse calls to read() and pread() on a file >> descriptor. According to the ReadFile spec, using the 'overlapped' >> argument should not affect the implicit position pointer of the >> descriptor. Experiments have shown that this is, in fact, a lie. >> >> To accomodate that fact, this change also incorporates: >> >> http://article.gmane.org/gmane.comp.version-control.git/196042 >> >> ... which gives each index-pack thread its own file descriptor. > > If the problem is mixing read() and pread() then perhaps it's enough to do > > output_fd = dup(output_fd); > Unfortunately not, dup() / DuplicateHandle() just opens another handle to the same file object (i.e. sharing the same file position).