jfh@rpp386.cactus.org (John F Haugh II) (12/12/90)
In article <422@bally.Bally.COM> jkimble@bally.bally.com (The Programmer Guy) writes: >In article <18777@rpp386.cactus.org> jfh@rpp386.cactus.org (John F. Haugh II) writes: >>use the source, luke, cuz bo don't know shit. ^^^^^^ > >A fitting quote from the unoffical USENET Posting Policy Guide: > ># 10. When in doubt, insult: If you forget the other rules, remember this ># one. At some point during your wonderful career on USENET you will ># undoubtedly end up in a flame war with someone who is better than you. ># This person will expose your lies, tear apart your arguments, make you ># look generally like a bozo. At this point, there's only one thing to ># do: insult the dirtbag!!! "Oh yeah? Well, you do strange things with ># vegetables." Now, Jim, you have been asked to go check out that source code, just like our dear friend Dave Burton over in IBM land. The entire abort() and assert() issue would have been resolved in one posting if the people who are insisting abort() is well-defined and well-behaved would have just READ THE SOURCE CODE. I don't think telling you to go READ THE SOURCE CODE is an insult any more than telling you to READ THE FUCKING MANUAL is an insult. However, quite clearly neither you nor Dave Burton have done enough of either, because if you had you would realize that the implementation and behavior of abort() varies from one release of BSD and USG to the next, and quite widely between BSD and USG. For example, on a USG system abort() is about equivalent to abort () { kill (getpid (), SIGIOT); } while on a BSD system abort() is about equivalent to abort () { kill (getpid (), SIGILL); signal (SIGILL, SIG_DFL); kill (getpid (), SIGILL); } Now, Dave insisted that assert() =always= exits or doesn't return, yet from the manpage for a popular UNIX derivative, it says "it displays ... on the standard error file and aborts." Checking /usr/include/assert.h reveals that it does this by calling abort(), which says "abort can return control if the calling process is set to catch or ignore the SIGIOT signal; see signal(2)". Not only IS the behavior squirrely, it is DOCUMENTED in TFM as being squirrely. You were saying something about "exposing lies" and "tearing apart arguments". Please, try. But first, go READ THE SOURCE CODE and go READ THE FUCKING MANUAL. You are arguing against source code and documentation. -- John F. Haugh II UUCP: ...!cs.utexas.edu!rpp386!jfh Ma Bell: (512) 832-8832 Domain: jfh@rpp386.cactus.org