fix pthread_detach inadvertently acting as cancellation point in race case
authorRich Felker <dalias@aerifal.cx>
Sat, 11 Feb 2023 14:54:12 +0000 (09:54 -0500)
committerRich Felker <dalias@aerifal.cx>
Sat, 11 Feb 2023 18:00:22 +0000 (13:00 -0500)
commitc3cd04fa5fecd2c349aefde090c602554ee4fa24
treea8ecb18938c7fd424d2be79537c73688d84fec3d
parent115149c023485a69f5bff05efd5339c0c5f77798
fix pthread_detach inadvertently acting as cancellation point in race case

disabling cancellation around the pthread_join call seems to be the
safest and logically simplest fix. i believe it would also be possible
to just perform the unmap directly here after __tl_sync, removing the
dependency on pthread_join, but such an approach duplicately encodes a
lot more implementation assumptions.
src/thread/pthread_detach.c