fix unintended observability of SIGABRT disposition reset via sigaction
authorRich Felker <dalias@aerifal.cx>
Thu, 1 Oct 2020 16:18:18 +0000 (12:18 -0400)
committerRich Felker <dalias@aerifal.cx>
Thu, 15 Oct 2020 00:27:12 +0000 (20:27 -0400)
commit25ea9f712c30c32957de493d4711ee39d0bbb024
tree2513ac2a9bacad97e3f7d08108c7adf6de240114
parentbd153422f28634bb6e53f13f80beb8289d405267
fix unintended observability of SIGABRT disposition reset via sigaction

the existing abort locking logic in sigaction only accounted for
attempts to change the disposition, not attempts to observe the change
made by abort.

unfortunately the change is still observable in at least one other
place: inheritance of signal dispositions across exec and posix_spawn.
fixing these is a separate task and it's not even clear whether a
complete fix is possible.
src/signal/sigaction.c