fix signal masking race in pthread_create with priority attributes
authorRich Felker <dalias@aerifal.cx>
Thu, 7 Sep 2017 00:37:19 +0000 (20:37 -0400)
committerRich Felker <dalias@aerifal.cx>
Thu, 7 Sep 2017 00:37:19 +0000 (20:37 -0400)
commit9e01be6e49b9ae433072207f420ef33c8189eb78
treef8cf6089257a0b4252b391b8abbc9ab042458fd5
parent822dddfbf1884553341114663aff56ed87d57663
fix signal masking race in pthread_create with priority attributes

if the parent thread was able to set the new thread's priority before
it reached the check for 'startlock', the new thread failed to restore
its signal mask and thus ran with all signals blocked.

concept for patch by Sergei, who reported the issue; unnecessary
changes were removed and comments added since the whole 'startlock'
thing is non-idiomatic and confusing. eventually it should be replaced
with use of idiomatic synchronization primitives.
src/thread/pthread_create.c