Am Freitag 05 Dezember 2008 09:07:53 schrieb Howard Chu:
I seem to recall there was a race such that the condvar had already been destroyed before it got here. Don't remember the details at the moment, and not in a position to look it up either, but perhaps trawling thru -devel will reveal it. Sounds like something Hallvard brought up in the past.
I failed to see how such a race could happen with the current code in HEAD. The condvar is only destroyed after ltp_open_count decreased to 0. There might have been such problems when _thread_pool_destroy just used a simple if statement (instead of a while loop) for checking ltp_open_count. But that has been changed long ago, as part of ITS#4943.
Maybe Hallvard can shed some light on this.