I finally worked out how to make abort() conforming when SIGABRT's disposition is under aggressive alteration by other threads, and it's gloriously simple. Especially if you've ever read the (utterly wrong) glibc monstrosity: https://sourceware.org/git/?p=glibc.git;a=blob;f=stdlib/abort.c;h=9bb97c10552223a65f2a423cb6d5ad184fad5438;hb=HEAD …
-
Show this thread
-
-
-
Replying to @RichFelker
You mean adding a lock to sigaction, so abort() can prevent concurrent sigaction calls?
1 reply 0 retweets 1 like -
-
Replying to @RichFelker @sortiecat
Oddly the glibc abort() does take lock, but for synchronizing its fallback steps against concurrent calls to abort, not against sigaction. And as far as I can tell, the lock is not AS-safe...
2 replies 0 retweets 1 like
Replying to @RichFelker @sortiecat
POSIX Rationale (http://pubs.opengroup.org/onlinepubs/9699919799/functions/abort.html …) clarifies that abort was not required to be AS-safe until C99, and before that POSIX bogusly required non-AS-safe behavior like flushing stdio FILEs...
8:07 AM - 1 Sep 2018
0 replies
0 retweets
0 likes
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.