From: F. <fa...@gm...> - 2009-01-11 17:28:28
|
1- Why does get-mutex have a with-interrupts? as the FIXME note above says, it's probably wrong. Nikodemus, can you comment? 2- Because of it, I think with-active-processes-lock should NOT :allow-with-interrupts t least a subtle race condition occurs. Cyrus, does that fix your issues? 3- While I stand by my previous analysis that what SBCL does with run-program is probably bad taste, I am proven full of shit in asserting that it had an obvious race condition in the multithreaded case: with-active-processes-lock does try (through with-system-mutex) to both achieve mutex between each thread's main code and signal handlers (with without-interrupts) and achieve mutex between threads (with get-mutex) -- in a way I was too dumb to previously guess or understand. It's somewhat expensive but it should work and provide race-condition-free low latency reaping of zombies (assuming get-mutex is free from race-condition, and if one never forks but through run-program). [ François-René ÐVB Rideau | Reflection&Cybernethics | http://fare.tunes.org ] The difference between a contemporary liberal and a socialist is that to a liberal the most beautiful word in the English language is 'forbidden', whereas to a socialist the most beautiful word is 'compulsory'. -- John McCarthy |