summaryrefslogtreecommitdiffstats
path: root/xpcom/build/XPCOMInit.cpp
diff options
context:
space:
mode:
authorwolfbeast <mcwerewolf@gmail.com>2018-09-01 23:45:10 +0200
committerwolfbeast <mcwerewolf@gmail.com>2018-09-01 23:45:10 +0200
commit1425f020c47b3cbe134f71717299714aead28502 (patch)
tree47c50413b1bb972617454b100f60c10a4516ca36 /xpcom/build/XPCOMInit.cpp
parent69627ad410935edf4a74a4d4678105d51a662263 (diff)
downloadUXP-1425f020c47b3cbe134f71717299714aead28502.tar
UXP-1425f020c47b3cbe134f71717299714aead28502.tar.gz
UXP-1425f020c47b3cbe134f71717299714aead28502.tar.lz
UXP-1425f020c47b3cbe134f71717299714aead28502.tar.xz
UXP-1425f020c47b3cbe134f71717299714aead28502.zip
Remove support for TLS session caches in TLSServerSocket.
This resolves #738
Diffstat (limited to 'xpcom/build/XPCOMInit.cpp')
-rw-r--r--xpcom/build/XPCOMInit.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/xpcom/build/XPCOMInit.cpp b/xpcom/build/XPCOMInit.cpp
index e8ee5828a..b89f51a98 100644
--- a/xpcom/build/XPCOMInit.cpp
+++ b/xpcom/build/XPCOMInit.cpp
@@ -123,6 +123,8 @@ extern nsresult nsStringInputStreamConstructor(nsISupports*, REFNSIID, void**);
#include "nsMemoryInfoDumper.h"
#include "nsSecurityConsoleMessage.h"
#include "nsMessageLoop.h"
+#include "nss.h"
+#include "ssl.h"
#include "nsStatusReporterManager.h"
@@ -1043,6 +1045,17 @@ ShutdownXPCOM(nsIServiceManager* aServMgr)
sInitializedJS = false;
}
+ // At this point all networking threads should have been joined and the
+ // component manager is shut down. Any remaining objects that hold NSS
+ // resources (should!) have been released, so we can safely shut down NSS.
+ if (NSS_IsInitialized()) {
+ SSL_ClearSessionCache();
+ // XXX: It would be nice if we can enforce this shutdown.
+ if (NSS_Shutdown() != SECSuccess) {
+ NS_WARNING("NSS Shutdown failed - some resources are still in use");
+ }
+ }
+
// Release our own singletons
// Do this _after_ shutting down the component manager, because the
// JS component loader will use XPConnect to call nsIModule::canUnload,