|
From: Christian W. <Chr...@t-...> - 2025-10-14 09:01:25
|
On 10/14/2025 09:28 AM, Jan Nijtmans wrote: > My interpretation is that using recursive mutexes fixed a rare deadlock in TclX. > Reverting TIP #509 will bring back this possible deadlock. Once again, the FlightAware problem was unfixable by using reentrant mutexes due to only very few system calls being signal safe (and surprise, surprise, the mutexes neither the normal nor the reentrant ones are part of that set). Consequently, the above mentioned deadlock (which would be back again) was a bug in the first place. Bummer! Then there was a rather long discussion which finally led to TIP#511, which solved the signal problem without the mutex blues (see the TclX fork on www.androwish.org regarding the signal subsystem of TclX). Further reading: https://man7.org/linux/man-pages/man7/signal-safety.7.html Lesson learned: you cannot wait in a signal handler, it's that simple. Thank you for your attention to this matter. Christian |