From ab01c9c19e109b2f91cb505f53497592c52ca88d Mon Sep 17 00:00:00 2001 From: Ted Ross Date: Fri, 27 Jan 2012 20:03:54 +0000 Subject: QPID-3787 - Fixed shutdown crash in SslPlugin, Fixed problem with sasl_mux test. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1236864 13f79535-47bb-0310-9956-ffa450edef68 --- cpp/src/qpid/sys/SslPlugin.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'cpp/src/qpid/sys') diff --git a/cpp/src/qpid/sys/SslPlugin.cpp b/cpp/src/qpid/sys/SslPlugin.cpp index ab15785492..48baef9042 100644 --- a/cpp/src/qpid/sys/SslPlugin.cpp +++ b/cpp/src/qpid/sys/SslPlugin.cpp @@ -96,10 +96,12 @@ typedef SslProtocolFactoryTmpl SslMuxProtocolFactory; // Static instance to initialise plugin static struct SslPlugin : public Plugin { SslServerOptions options; + bool nssInitialized; Options* getOptions() { return &options; } - ~SslPlugin() { ssl::shutdownNSS(); } + SslPlugin() : nssInitialized(false) {} + ~SslPlugin() { if (nssInitialized) ssl::shutdownNSS(); } void earlyInitialize(Target& target) { broker::Broker* broker = dynamic_cast(&target); @@ -129,6 +131,7 @@ static struct SslPlugin : public Plugin { } else { try { ssl::initNSS(options, true); + nssInitialized = true; const broker::Broker::Options& opts = broker->getOptions(); -- cgit v1.2.1