Re: index-pack died on pread
- From
Linus Torvalds <torvalds@linux-foundation.org>
- Date
- Jul 25, 2007, 23:44 UTC
- Message-ID
- <alpine.LFD.0.999.0707251636490.3607@woody.linux-foundation.org>
- In-Reply-To
- <200707260115.13234.robin.rosenberg.lists@dewire.com>
On Thu, 26 Jul 2007, Robin Rosenberg wrote:
> > Does cygwin have the same pread problem then.. ? after make NO_PREAD=1 with 1.5.2.4 > clone works.
Interesting.
It's true that pread() is used much less than normal reads, and maybe the cygwin pread() is indeed broken. But it's intriguing how apparently both HP-UX and Cygwin are showing the same breakage.
But if git was doing something odd with pread(), then NO_PREAD shouldn't work either, because that just enables the exact same code, except we now supply a pread emulation library function (which does it using "lseek()": not a *good* emulation, but good enough for the very limited use that git puts it to).
So yeah, it looks like pread() is broken under cygwin and hpux-11.11.
Googling for "pread" "cygwin" does seem to show that it's been buggy at times. Eg:
Fixes since 1.5.21-1:
...
- Fix pread in case current file offset is non-zero. (Hideki Iwamoto)
but I'm a bit surprised that hp-ux has the bug. pread isn't *that* complex.
Linus