r3096 - in trunk/libmcrypto: include/libmcrypto
include/libmcrypto/gnutls source source/gnutls
mikma at minisip.org
mikma at minisip.org
Mon Jan 8 15:09:33 CET 2007
Author: mikma
Date: 2007-01-08 15:09:32 +0100 (Mon, 08 Jan 2007)
New Revision: 3096
Modified:
trunk/libmcrypto/include/libmcrypto/gnutls/init.h
trunk/libmcrypto/include/libmcrypto/init.h
trunk/libmcrypto/source/gnutls/init.cxx
trunk/libmcrypto/source/init.cxx
Log:
Add libmcryptoGnutlsUninit
Modified: trunk/libmcrypto/include/libmcrypto/gnutls/init.h
===================================================================
--- trunk/libmcrypto/include/libmcrypto/gnutls/init.h 2007-01-07 15:29:47 UTC (rev 3095)
+++ trunk/libmcrypto/include/libmcrypto/gnutls/init.h 2007-01-08 14:09:32 UTC (rev 3096)
@@ -19,3 +19,4 @@
#include <libmcrypto/config.h>
void libmcryptoGnutlsInit();
+void libmcryptoGnutlsUninit();
Modified: trunk/libmcrypto/include/libmcrypto/init.h
===================================================================
--- trunk/libmcrypto/include/libmcrypto/init.h 2007-01-07 15:29:47 UTC (rev 3095)
+++ trunk/libmcrypto/include/libmcrypto/init.h 2007-01-08 14:09:32 UTC (rev 3096)
@@ -29,6 +29,7 @@
// libmcryptoInit must be called before other APIs
LIBMCRYPTO_API void libmcryptoInit();
+LIBMCRYPTO_API void libmcryptoUninit();
class LIBMCRYPTO_API CryptoThreadGuard : public virtual MObject
{
Modified: trunk/libmcrypto/source/gnutls/init.cxx
===================================================================
--- trunk/libmcrypto/source/gnutls/init.cxx 2007-01-07 15:29:47 UTC (rev 3095)
+++ trunk/libmcrypto/source/gnutls/init.cxx 2007-01-08 14:09:32 UTC (rev 3096)
@@ -21,14 +21,17 @@
#include<gnutls/gnutls.h>
#include<errno.h>
#include<pthread.h>
+#include<iostream>
GCRY_THREAD_OPTION_PTHREAD_IMPL;
-static bool g_initialized;
+using namespace std;
+static unsigned int g_initialized;
+
void libmcryptoGnutlsInit()
{
- if( g_initialized )
+ if( g_initialized++ )
return;
/* The order matters.
@@ -37,3 +40,11 @@
gnutls_global_init();
g_initialized = true;
}
+
+void libmcryptoGnutlsUninit()
+{
+ if( --g_initialized )
+ return;
+
+ gnutls_global_deinit();
+}
Modified: trunk/libmcrypto/source/init.cxx
===================================================================
--- trunk/libmcrypto/source/init.cxx 2007-01-07 15:29:47 UTC (rev 3095)
+++ trunk/libmcrypto/source/init.cxx 2007-01-08 14:09:32 UTC (rev 3096)
@@ -46,6 +46,13 @@
#endif
}
+void libmcryptoUninit()
+{
+#if defined(HAVE_GNUTLS)
+ libmcryptoGnutlsUninit();
+#endif
+}
+
// ====================================================================
std::vector<Mutex*> CryptoThreadGuard::guards;
More information about the Minisip-devel
mailing list