aboutsummaryrefslogtreecommitdiff
path: root/src/libmain
diff options
context:
space:
mode:
authorEelco Dolstra <edolstra@gmail.com>2019-09-04 14:14:03 +0200
committerEelco Dolstra <edolstra@gmail.com>2019-09-04 21:45:01 +0200
commita56b51a0ba7b0d6fdff7fd0127a118185b146f4f (patch)
tree5256fc3477856111ca610e2eb0f202fefdb7dba0 /src/libmain
parentb9d6c6f000d2ba3efd7c124e46982425962f4fbb (diff)
Disable OpenSSL lock callback on OpenSSL >= 1.1.1
Diffstat (limited to 'src/libmain')
-rw-r--r--src/libmain/shared.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/libmain/shared.cc b/src/libmain/shared.cc
index 0afddfb78..d3dbfbc44 100644
--- a/src/libmain/shared.cc
+++ b/src/libmain/shared.cc
@@ -80,6 +80,7 @@ string getArg(const string & opt,
}
+#if OPENSSL_VERSION_NUMBER < 0x10101000L
/* OpenSSL is not thread-safe by default - it will randomly crash
unless the user supplies a mutex locking function. So let's do
that. */
@@ -92,6 +93,7 @@ static void opensslLockCallback(int mode, int type, const char * file, int line)
else
opensslLocks[type].unlock();
}
+#endif
static void sigHandler(int signo) { }
@@ -105,9 +107,11 @@ void initNix()
std::cerr.rdbuf()->pubsetbuf(buf, sizeof(buf));
#endif
+#if OPENSSL_VERSION_NUMBER < 0x10101000L
/* Initialise OpenSSL locking. */
opensslLocks = std::vector<std::mutex>(CRYPTO_num_locks());
CRYPTO_set_locking_callback(opensslLockCallback);
+#endif
loadConfFile();