move _ARC4_LOCK/UNLOCK primitives from thread_private into OS-specific modules
authorbcook <bcook@openbsd.org>
Sat, 19 Jul 2014 14:34:38 +0000 (14:34 +0000)
committerbcook <bcook@openbsd.org>
Sat, 19 Jul 2014 14:34:38 +0000 (14:34 +0000)
lib/libcrypto/arc4random/arc4random_linux.h
lib/libcrypto/arc4random/arc4random_osx.h
lib/libcrypto/arc4random/arc4random_solaris.h
lib/libcrypto/crypto/arc4random_linux.h
lib/libcrypto/crypto/arc4random_osx.h
lib/libcrypto/crypto/arc4random_solaris.h

index 992ee6b..29dad3b 100644 (file)
@@ -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>
  * 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
index 2742880..55932bb 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: arc4random_osx.h,v 1.4 2014/07/19 13:02:28 bcook Exp $        */
+/*     $OpenBSD: arc4random_osx.h,v 1.5 2014/07/19 14:34:38 bcook Exp $        */
 
 /*
  * Copyright (c) 1996, David Mazieres <dm@uun.org>
  * 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
index 128f61e..e5ebbfb 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: arc4random_solaris.h,v 1.4 2014/07/19 13:02:28 bcook Exp $    */
+/*     $OpenBSD: arc4random_solaris.h,v 1.5 2014/07/19 14:34:38 bcook Exp $    */
 
 /*
  * Copyright (c) 1996, David Mazieres <dm@uun.org>
 /*
  * 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
index 992ee6b..29dad3b 100644 (file)
@@ -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>
  * 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
index 2742880..55932bb 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: arc4random_osx.h,v 1.4 2014/07/19 13:02:28 bcook Exp $        */
+/*     $OpenBSD: arc4random_osx.h,v 1.5 2014/07/19 14:34:38 bcook Exp $        */
 
 /*
  * Copyright (c) 1996, David Mazieres <dm@uun.org>
  * 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
index 128f61e..e5ebbfb 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: arc4random_solaris.h,v 1.4 2014/07/19 13:02:28 bcook Exp $    */
+/*     $OpenBSD: arc4random_solaris.h,v 1.5 2014/07/19 14:34:38 bcook Exp $    */
 
 /*
  * Copyright (c) 1996, David Mazieres <dm@uun.org>
 /*
  * 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