From fdafe11a25ad3e7ca8893c8630f86973431217b9 Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Mon, 11 Mar 2013 13:23:10 -0400 Subject: [PATCH] Give an #error when we want threads and OpenSSL has disabled threads Fixes ticket 6673. --- changes/bug6673 | 4 ++++ src/common/crypto.c | 6 ++++++ 2 files changed, 10 insertions(+) create mode 100644 changes/bug6673 diff --git a/changes/bug6673 b/changes/bug6673 new file mode 100644 index 0000000000..506b449892 --- /dev/null +++ b/changes/bug6673 @@ -0,0 +1,4 @@ + o Minor features (build): + - Detect and reject attempts to build Tor with threading support + when OpenSSL have been compiled with threading support disabled. + Fixes bug 6673. diff --git a/src/common/crypto.c b/src/common/crypto.c index 22d57c7c8a..3d8b1ba4ff 100644 --- a/src/common/crypto.c +++ b/src/common/crypto.c @@ -3000,6 +3000,12 @@ memwipe(void *mem, uint8_t byte, size_t sz) } #ifdef TOR_IS_MULTITHREADED + +#ifndef OPENSSL_THREADS +#error OpenSSL has been built without thread support. Tor requires an \ + OpenSSL library with thread support enabled. +#endif + /** Helper: OpenSSL uses this callback to manipulate mutexes. */ static void openssl_locking_cb_(int mode, int n, const char *file, int line)