fix missing synchronization of fork with abort
authorRich Felker <dalias@aerifal.cx>
Mon, 28 Sep 2020 23:32:34 +0000 (19:32 -0400)
committerRich Felker <dalias@aerifal.cx>
Thu, 15 Oct 2020 00:27:12 +0000 (20:27 -0400)
commitb115bee4dd7c33ec719fe2fc566d41c0e2133c85
treee958cb9537aa7e9e08706c035a5ad6306b33b4be
parent3cd3de61894b73ca9f62ab9e5b572fc1037dcd55
fix missing synchronization of fork with abort

if the multithreaded parent forked while another thread was calling
sigaction for SIGABRT or calling abort, the child could inherit a lock
state in which future calls to abort will deadlock, or in which the
disposition for SIGABRT has already been reset to SIG_DFL. this is
nonconforming since abort is AS-safe and permitted to be called
concurrently with fork or in the MT-forked child.
src/process/fork.c