From 2026839cab434a1fcb6dccc5f376cb83c2423517 Mon Sep 17 00:00:00 2001 From: bcook Date: Sat, 19 Jul 2014 14:34:38 +0000 Subject: [PATCH] move _ARC4_LOCK/UNLOCK primitives from thread_private into OS-specific modules --- lib/libcrypto/arc4random/arc4random_linux.h | 8 +++++++- lib/libcrypto/arc4random/arc4random_osx.h | 8 +++++++- lib/libcrypto/arc4random/arc4random_solaris.h | 9 ++++++++- lib/libcrypto/crypto/arc4random_linux.h | 8 +++++++- lib/libcrypto/crypto/arc4random_osx.h | 8 +++++++- lib/libcrypto/crypto/arc4random_solaris.h | 9 ++++++++- 6 files changed, 44 insertions(+), 6 deletions(-) diff --git a/lib/libcrypto/arc4random/arc4random_linux.h b/lib/libcrypto/arc4random/arc4random_linux.h index 992ee6bb8ef..29dad3b9adf 100644 --- a/lib/libcrypto/arc4random/arc4random_linux.h +++ b/lib/libcrypto/arc4random/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 @@ -22,6 +22,12 @@ * Stub functions for portability. */ +#include + +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 diff --git a/lib/libcrypto/arc4random/arc4random_osx.h b/lib/libcrypto/arc4random/arc4random_osx.h index 274288000f4..55932bb8238 100644 --- a/lib/libcrypto/arc4random/arc4random_osx.h +++ b/lib/libcrypto/arc4random/arc4random_osx.h @@ -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 @@ -22,6 +22,12 @@ * Stub functions for portability. */ +#include + +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 diff --git a/lib/libcrypto/arc4random/arc4random_solaris.h b/lib/libcrypto/arc4random/arc4random_solaris.h index 128f61e0033..e5ebbfb7e50 100644 --- a/lib/libcrypto/arc4random/arc4random_solaris.h +++ b/lib/libcrypto/arc4random/arc4random_solaris.h @@ -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 @@ -21,6 +21,13 @@ /* * Stub functions for portability. */ + +#include + +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 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 @@ -22,6 +22,12 @@ * Stub functions for portability. */ +#include + +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 diff --git a/lib/libcrypto/crypto/arc4random_osx.h b/lib/libcrypto/crypto/arc4random_osx.h index 274288000f4..55932bb8238 100644 --- a/lib/libcrypto/crypto/arc4random_osx.h +++ b/lib/libcrypto/crypto/arc4random_osx.h @@ -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 @@ -22,6 +22,12 @@ * Stub functions for portability. */ +#include + +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 diff --git a/lib/libcrypto/crypto/arc4random_solaris.h b/lib/libcrypto/crypto/arc4random_solaris.h index 128f61e0033..e5ebbfb7e50 100644 --- a/lib/libcrypto/crypto/arc4random_solaris.h +++ b/lib/libcrypto/crypto/arc4random_solaris.h @@ -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 @@ -21,6 +21,13 @@ /* * Stub functions for portability. */ + +#include + +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 -- 2.20.1