network: use HAVE_THREADS instead of local hack
authorMans Rullgard <mans@mansr.com>
Fri, 26 Oct 2012 18:33:59 +0000 (19:33 +0100)
committerMans Rullgard <mans@mansr.com>
Sat, 27 Oct 2012 12:11:17 +0000 (13:11 +0100)
HAVE_THREADS is set in config.h if pthreads or w32threads is
available, which presumably the proper condition here.

Also fixes undefined behaviour in preprocessor directives.

Signed-off-by: Mans Rullgard <mans@mansr.com>
libavformat/network.c

index 5b2b958..fe17bdf 100644 (file)
@@ -22,9 +22,7 @@
 #include "libavcodec/internal.h"
 #include "libavutil/mem.h"
 
-#define THREADS (HAVE_PTHREADS || (defined(WIN32) && !defined(__MINGW32CE__)))
-
-#if THREADS
+#if HAVE_THREADS
 #if HAVE_PTHREADS
 #include <pthread.h>
 #else
@@ -35,7 +33,7 @@
 #if CONFIG_OPENSSL
 #include <openssl/ssl.h>
 static int openssl_init;
-#if THREADS
+#if HAVE_THREADS
 #include <openssl/crypto.h>
 #include "libavutil/avutil.h"
 pthread_mutex_t *openssl_mutexes;
@@ -56,7 +54,7 @@ static unsigned long openssl_thread_id(void)
 #endif
 #if CONFIG_GNUTLS
 #include <gnutls/gnutls.h>
-#if THREADS && GNUTLS_VERSION_NUMBER <= 0x020b00
+#if HAVE_THREADS && GNUTLS_VERSION_NUMBER <= 0x020b00
 #include <gcrypt.h>
 #include <errno.h>
 #undef malloc
@@ -72,7 +70,7 @@ void ff_tls_init(void)
     if (!openssl_init) {
         SSL_library_init();
         SSL_load_error_strings();
-#if THREADS
+#if HAVE_THREADS
         if (!CRYPTO_get_locking_callback()) {
             int i;
             openssl_mutexes = av_malloc(sizeof(pthread_mutex_t) * CRYPTO_num_locks());
@@ -88,7 +86,7 @@ void ff_tls_init(void)
     openssl_init++;
 #endif
 #if CONFIG_GNUTLS
-#if THREADS && GNUTLS_VERSION_NUMBER < 0x020b00
+#if HAVE_THREADS && GNUTLS_VERSION_NUMBER < 0x020b00
     if (gcry_control(GCRYCTL_ANY_INITIALIZATION_P) == 0)
         gcry_control(GCRYCTL_SET_THREAD_CBS, &gcry_threads_pthread);
 #endif
@@ -103,7 +101,7 @@ void ff_tls_deinit(void)
 #if CONFIG_OPENSSL
     openssl_init--;
     if (!openssl_init) {
-#if THREADS
+#if HAVE_THREADS
         if (CRYPTO_get_locking_callback() == openssl_lock) {
             int i;
             CRYPTO_set_locking_callback(NULL);