hyc@OpenLDAP.org writes:
tpool.c 1.95 -> 1.96 ITS#5407 more checks for pool pausing
Needs clarification in this comment, at least: "/* See if a pause was requested; wait for it if so." What if more than one thread is waiting to pause? pool_pausecheck() lets through at least one, but not necessarily all. Sufficient for forward progress? Also a thread may request a pause just as pool_pausecheck() returns.
With so much common code I'd make this and pool_pause() wrappers around handle_pause(tpool, always_pause), returning !always_pause if it paused.