summaryrefslogtreecommitdiff
path: root/lib/libcrypto/crypto/arc4random_linux.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libcrypto/crypto/arc4random_linux.h')
-rw-r--r--lib/libcrypto/crypto/arc4random_linux.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/lib/libcrypto/crypto/arc4random_linux.h b/lib/libcrypto/crypto/arc4random_linux.h
index 992ee6bb8ef..29dad3b9adf 100644
--- a/lib/libcrypto/crypto/arc4random_linux.h
+++ b/lib/libcrypto/crypto/arc4random_linux.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: arc4random_linux.h,v 1.4 2014/07/19 13:02:28 bcook Exp $ */
+/* $OpenBSD: arc4random_linux.h,v 1.5 2014/07/19 14:34:38 bcook Exp $ */
/*
* Copyright (c) 1996, David Mazieres <dm@uun.org>
@@ -22,6 +22,12 @@
* Stub functions for portability.
*/
+#include <pthread.h>
+
+static pthread_mutex_t arc4random_mtx = PTHREAD_MUTEX_INITIALIZER;
+#define _ARC4_LOCK() pthread_mutex_lock(&arc4random_mtx)
+#define _ARC4_UNLOCK() pthread_mutex_unlock(&arc4random_mtx)
+
static volatile sig_atomic_t _rs_forked;
static inline void