git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] Fix a signal handler

From
Junio C Hamano <gitster@pobox.com>
Date
Feb 23, 2010, 21:48 UTC
Message-ID
<7vmxyzfwt7.fsf@alter.siamese.dyndns.org>
In-Reply-To
<4B839811.6040109@web.de>
Markus Elfring <Markus.Elfring@web.de> writes:
Show 5 quoted lines
>> According to POSIX, "s-e-o" has to be "volatile sig_atomic_t".
>
> How do you think about informations from a discussion on a topic like 'Is
> "volatile sig_atomic_t" redundant'?
> http://groups.google.de/group/comp.lang.c/browse_frm/thread/da3118a2d2c0737c/718dc093b83e03f8?#718dc093b83e03f8

Honestly I don't care; you are the one who are interested in being pedantic, and you are welcome wasting your time on that endeavor. Don't ask me to waste my time by joining your mental masturbation.

>> Also we do not explicitly initialize bss variables to zero or NULL.
>
> If we would like to insist on the implementation of a strictly conforming
> program,...
We don't.

The thing is, we do not like to insist any such thing. We are practical bunch who are interested in getting git work well on real platforms used by real people. Portability across platforms people care about is one of the goals and standard conformance for us is merely a tool to achieve it.

Name one platform you tried to port git to and had trouble with because the platform did not initialize variables in bss segment to zero, or perhaps on that platfor NULL had a bitpattern different from all zero, and after you initialized them explicitly to zero or NULL, you managed to make everything work perfectly.

Name one platform you actually got a segfault in the early-output codepath on it, because a function pointer on that platform is not of an atomic type, and the assignment from show_early_output to show done in limit_list() picked up a pointer half-written by the signal handler, and we ended up calling a garbage address, and you managed to make everything work perfectly with your fix.

Just name one.

Standard conformance by itself is never a goal for us, unless it helps to solve real world problems. And until you understand that, you wouldn't understand why this patch deserves to be labelled with "pedantic fix".

Previous: Markus ElfringNext: Markus Elfring
Message 33 of 36 in “Fix signal handler”
  1. Markus ElfringFeb 2, 2010
  2. Jeff KingFeb 2, 2010
  3. Markus ElfringFeb 2, 2010
  4. Jeff KingFeb 2, 2010
  5. Markus ElfringFeb 3, 2010
  6. Jeff KingFeb 3, 2010
  7. Markus ElfringFeb 3, 2010
  8. Thomas RastFeb 3, 2010
  9. Markus ElfringFeb 3, 2010
  10. Shawn O. PearceFeb 3, 2010
  11. Andreas EricssonFeb 3, 2010
  12. Markus ElfringFeb 3, 2010
  13. Andreas EricssonFeb 4, 2010
  14. Jeff KingFeb 3, 2010
  15. Markus ElfringFeb 3, 2010
  16. Bill LearFeb 3, 2010
  17. Markus ElfringFeb 9, 2010
  18. Daniel BarkalowFeb 9, 2010
  19. Markus ElfringFeb 10, 2010
  20. Shawn O. PearceFeb 10, 2010
  21. Jeff KingFeb 10, 2010
  22. Jeff KingFeb 10, 2010
  23. Markus ElfringFeb 13, 2010
  24. Jeff KingFeb 14, 2010
  25. Junio C HamanoFeb 14, 2010
  26. Markus ElfringFeb 18, 2010
  27. Junio C HamanoFeb 18, 2010
  28. Markus ElfringFeb 19, 2010
  29. Markus ElfringFeb 22, 2010
  30. Junio C HamanoFeb 22, 2010
  31. Markus ElfringFeb 23, 2010
  32. Markus ElfringFeb 23, 2010
  33. Junio C HamanoFeb 23, 2010
  34. Markus ElfringFeb 24, 2010
  35. Andreas EricssonFeb 24, 2010
  36. Markus ElfringFeb 24, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.