--- security/manager/ssl/src/nsCertVerificationThread.cpp 2006-04-14 02:07:18.000000000 +0400 +++ security/manager/ssl/src/nsCertVerificationThread.cpp.new 2007-05-15 17:03:21.000000000 +0400 @@ -123,12 +123,8 @@ return NS_OK; } -#define CONDITION_WAIT_TIME PR_TicksPerSecond() / 4 - void nsCertVerificationThread::Run(void) { - const PRIntervalTime wait_time = CONDITION_WAIT_TIME; - while (PR_TRUE) { nsBaseVerificationJob *job = nsnull; @@ -139,7 +135,7 @@ while (!mExitRequested && (0 == verification_thread_singleton->mJobQ.GetSize())) { // no work to do ? let's wait a moment - PR_WaitCondVar(mCond, wait_time); + PR_WaitCondVar(mCond, PR_INTERVAL_NO_TIMEOUT); } if (mExitRequested) --- security/manager/ssl/src/nsSSLThread.cpp 2006-09-07 22:39:48.000000000 +0400 +++ security/manager/ssl/src/nsSSLThread.cpp.new 2007-05-15 17:04:35.000000000 +0400 @@ -386,6 +386,8 @@ close_later = PR_TRUE; ssl_thread_singleton->mSocketScheduledToBeDestroyed = si; + + PR_NotifyAllCondVar(ssl_thread_singleton->mCond); } } @@ -875,8 +877,7 @@ { // no work to do ? let's wait a moment - PRIntervalTime wait_time = PR_TicksPerSecond() / 4; - PR_WaitCondVar(mCond, wait_time); + PR_WaitCondVar(mCond, PR_INTERVAL_NO_TIMEOUT); } } while (!pending_work && !mExitRequested && !mSocketScheduledToBeDestroyed);