On Tue, Feb 02, 2010 at 10:44:37PM +0100, Markus Elfring wrote: > > No, it's not a sig_atomic_t, but it is assignment of a single function > > pointer that is properly declared as volatile. Is this actually a > > problem on any known system? > > Is it guaranteed to work on all supported software environments that an > address can be atomically set? I think you are missing my point. We are not coding to a set of standards that provide guarantees. We are coding to a practical set of real-world implementations that people try to run git on and produce bug reports for. I do not think anyone on this list could even enumerate a complete a list of the "supported software environments" of git. We try to be conservative about portability issues. Some things are obviously wrong. But other things may violate the letter of some standards, and yet work in practice on all of the platforms people are interested in running git on. I don't think anyone here is much interested in whether there is any sort of guarantee on a particular construct working. What we do care about is whether there is an actual problem on some platform that enough people care about to justify rewriting the code to handle it. So to answer your question, I honestly don't know. The code may well be broken on common platforms and it is simply a race condition that has never come up. But I do know that it has not been a common source of bug reports, which makes me not want to spend time investigating it when nobody has demonstrated its incorrectness beyond mentioning a standards document. Especially when that time could be better spent fixing other bugs. -Peff -- To unsubscribe from this list: 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