From: Jeff King <peff@peff.net>
To: Markus Elfring <Markus.Elfring@web.de>
Cc: git@vger.kernel.org
Subject: Re: Fix signal handler
Date: Tue, 2 Feb 2010 17:32:08 -0500 [thread overview]
Message-ID: <20100202223208.GB18781@sigill.intra.peff.net> (raw)
In-Reply-To: <4B689CC5.3000400@web.de>
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
next prev parent reply other threads:[~2010-02-02 22:32 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-02-02 16:14 Fix signal handler Markus Elfring
2010-02-02 20:58 ` Jeff King
2010-02-02 21:44 ` Markus Elfring
2010-02-02 22:32 ` Jeff King [this message]
2010-02-03 10:20 ` Markus Elfring
2010-02-03 10:29 ` Jeff King
2010-02-03 11:55 ` Markus Elfring
2010-02-03 13:12 ` Thomas Rast
2010-02-03 15:46 ` Markus Elfring
2010-02-03 15:52 ` Shawn O. Pearce
2010-02-03 15:53 ` Andreas Ericsson
2010-02-03 16:24 ` Markus Elfring
2010-02-04 7:23 ` Andreas Ericsson
2010-02-03 15:17 ` Jeff King
2010-02-03 16:04 ` Markus Elfring
2010-02-03 16:26 ` Bill Lear
2010-02-09 18:01 ` Markus Elfring
2010-02-09 23:49 ` Daniel Barkalow
2010-02-10 17:08 ` [PATCH] " Markus Elfring
2010-02-10 17:14 ` Shawn O. Pearce
2010-02-10 17:35 ` Jeff King
2010-02-10 17:33 ` Jeff King
2010-02-13 13:30 ` Markus Elfring
2010-02-14 6:47 ` Jeff King
2010-02-14 10:19 ` Junio C Hamano
2010-02-18 16:31 ` Markus Elfring
2010-02-18 20:06 ` Junio C Hamano
2010-02-19 11:05 ` Markus Elfring
2010-02-22 12:10 ` [PATCH] Fix a " Markus Elfring
2010-02-22 18:31 ` Junio C Hamano
2010-02-23 8:55 ` Markus Elfring
2010-02-23 9:10 ` Markus Elfring
2010-02-23 21:48 ` Junio C Hamano
2010-02-24 10:38 ` Markus Elfring
2010-02-24 10:51 ` Andreas Ericsson
2010-02-24 11:08 ` Markus Elfring
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20100202223208.GB18781@sigill.intra.peff.net \
--to=peff@peff.net \
--cc=Markus.Elfring@web.de \
--cc=git@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).