Hi, On Mon, 3 Apr 2006, Linus Torvalds wrote: > On Mon, 3 Apr 2006, Johannes Schindelin wrote: > > > > The problem is not mmap() on cygwin, but that a fork() has to jump through > > loops to reinstall the open file descriptors on cygwin. If the > > corresponding file was deleted, that fails. Therefore, we work around that > > on cygwin by actually reading the file into memory, *not* mmap()ing it. > > Well, we could actually do a _real_ mmap on pack-files. The pack-files are > much better mmap'ed - there we don't _want_ them to be removed while we're > using them. It was the index file etc that was problematic. > > Maybe the cygwin fake mmap should be triggered only for the index (and > possibly the individual objects - if only because there doing a > malloc+read may actually be faster). I hit the problem *only* with "git-whatchanged -p". Which means that the upcoming we-no-longer-write-temp-files-for-diff version should make that gitfakemmap() hack obsolete. (I have not checked whether there are other places where a file is mmap()ed and then used by a fork()ed process.) Ciao, Dscho - : send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html