On Mon, Sep 26, 2005 at 10:46:30PM -0700, Junio C Hamano wrote: > I think (O_CREAT|O_EXCL) in your code can be easily defeated by > this sequence: > > one two > > unlink prevfile > rename tmpfile, prevfile > unlink tmpfile > local = open tmpfile > unlink prevfile > rename tmpfile, prevfile > unlink tmpfile > local = open tmpfile > prevlocal = open prevfile > write local > copyfile prevlocal, local > write local > ??? The way I understand this sequence, one and two will not be writing to the same file. When two unlinks tmpfile, one will still be able to write to its local, but the body of the file that one is writing will be removed when it closes local. > Not that I think the multiple instances should be prevented at > this low level --- if they stomp on each other at this level, it > is very likely the they are doing duplicated work on the network > side as well, and should be prevented from doing so at much > higher level than this, I think. That's why I said I do not > mind BKL upfront in git-fetch.sh. True, is that something I should include with the partial patch? -- For a successful technology, reality must take precedence over public relations, for nature cannot be fooled. - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.htmlReceived on Wed Sep 28 01:36:56 2005
This archive was generated by hypermail 2.1.8 : 2005-09-28 01:37:29 EST