diff -up ccrtp-2.0.5/src/ccrtp/crypto/gcrypt/InitializeGcrypt.cpp.threadcbs ccrtp-2.0.5/src/ccrtp/crypto/gcrypt/InitializeGcrypt.cpp
--- ccrtp-2.0.5/src/ccrtp/crypto/gcrypt/InitializeGcrypt.cpp.threadcbs 2012-06-18 17:19:04.000000000 +0200
+++ ccrtp-2.0.5/src/ccrtp/crypto/gcrypt/InitializeGcrypt.cpp 2014-04-22 21:28:21.857233486 +0200
@@ -16,67 +16,18 @@
*/
#include <stdio.h>
-
#include <malloc.h>
-#include <pthread.h>
#include <errno.h>
#include <gcrypt.h>
-
-/*
- * The following macro was copied from gcrypt.h and modified to explicitly
- * cast the pointer types to keep the compiler happy.
- */
-#define GCRY_THREAD_OPTION_PTHREAD_CPP_IMPL \
-static int gcry_pthread_mutex_init (void **priv) \
-{ \
- int err = 0; \
- pthread_mutex_t *lock = (pthread_mutex_t *)malloc (sizeof (pthread_mutex_t)); \
- \
- if (!lock) \
- err = ENOMEM; \
- if (!err) \
-{ \
- err = pthread_mutex_init (lock, NULL); \
- if (err) \
- free (lock); \
- else \
- *priv = lock; \
-} \
- return err; \
-} \
-static int gcry_pthread_mutex_destroy (void **lock) \
-{ int err = pthread_mutex_destroy ((pthread_mutex_t *)*lock); free (*lock); return err; } \
-static int gcry_pthread_mutex_lock (void **lock) \
-{ return pthread_mutex_lock ((pthread_mutex_t *)*lock); } \
-static int gcry_pthread_mutex_unlock (void **lock) \
-{ return pthread_mutex_unlock ((pthread_mutex_t *)*lock); } \
- \
-static struct gcry_thread_cbs gcry_threads_pthread = \
-{ GCRY_THREAD_OPTION_PTHREAD, NULL, \
- gcry_pthread_mutex_init, gcry_pthread_mutex_destroy, \
- gcry_pthread_mutex_lock, gcry_pthread_mutex_unlock }
-
-/** Implement the locking callback functions for libgcrypt.
- *
- */
static int initialized = 0;
-#ifdef __cplusplus
-extern "C" {
-#endif
-GCRY_THREAD_OPTION_PTHREAD_CPP_IMPL;
-#ifdef __cplusplus
-}
-#endif
-
int initializeGcrypt ()
{
if (initialized) {
return 1;
}
- gcry_control(GCRYCTL_SET_THREAD_CBS, &gcry_threads_pthread);
gcry_check_version(NULL);
gcry_control(GCRYCTL_DISABLE_SECMEM);
initialized = 1;