diff options
Diffstat (limited to 'www/mozilla/patches/patch-as')
-rw-r--r-- | www/mozilla/patches/patch-as | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/www/mozilla/patches/patch-as b/www/mozilla/patches/patch-as new file mode 100644 index 00000000000..71139ab6d86 --- /dev/null +++ b/www/mozilla/patches/patch-as @@ -0,0 +1,68 @@ +$NetBSD: patch-as,v 1.1 2001/03/30 09:37:50 taya Exp $ + +diff -ru ../Orig/mozilla/netwerk/dns/src/nsDnsService.cpp ./netwerk/dns/src/nsDnsService.cpp +--- ../Orig/mozilla/netwerk/dns/src/nsDnsService.cpp Fri Mar 23 23:23:37 2001 ++++ ./netwerk/dns/src/nsDnsService.cpp Sat Mar 24 01:35:04 2001 +@@ -943,6 +943,11 @@ + + nsAutoMonitor mon(mLookupQMon); + ++ // Don't wait on the monitor if we're in the process ++ // of shutting down the DNS service. ++ if (mShutdownInProgress) ++ return NS_OK; ++ + // Wait for notification of a queued request. + if (!mLookupQ) + mon.Wait(); +@@ -967,22 +972,21 @@ + //////////////////////////////////////////////////////////////////////////////// + + nsDNSService::nsDNSService() +- : mState(NS_OK), +- mMonitor(nsnull), +- mLookups(64) ++ : mState(NS_OK) ++ , mMonitor(nsnull) ++ , mLookups(64) + #if defined(XP_UNIX) + , mLookupQ(nsnull) ++ , mLookupQMon(nsnull) ++ , mShutdownInProgress(PR_FALSE) + #endif + #ifdef DNS_TIMING +- , +- mCount(0), +- mTimes(0), +- mSquaredTimes(0), +- mOut(nsnull) +- ++ , mCount(0) ++ , mTimes(0) ++ , mSquaredTimes(0) ++ , mOut(nsnull) + #endif +- , +- mMyIPAddress(0) ++ , mMyIPAddress(0) + { + NS_INIT_REFCNT(); + +@@ -1262,9 +1266,7 @@ + if (NS_FAILED(rv)) return rv; + + if (lookup) { +- // + // Got a request!! +- // + lookup->DoSyncLookup(); + NS_RELEASE(lookup); + } else +@@ -1544,6 +1546,7 @@ + // Clear the lookup queue and wake up the worker thread. + // + nsAutoMonitor mon2(mLookupQMon); ++ mShutdownInProgress = PR_TRUE; + if (mLookupQ) { + mLookupQ->ClearNextLookup(); + NS_RELEASE(mLookupQ); |