Arc4random locking: Check for threaded application on Cygwin
libc/stdlib/arc4random.h (_ARC4_LOCK): Special case Cygwin. (_ARC4_UNLOCK): Ditto. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
This commit is contained in:
parent
5ccdcf0219
commit
7c96d6059c
|
@ -39,10 +39,29 @@
|
|||
|
||||
__LOCK_INIT(static, _arc4random_mutex);
|
||||
|
||||
#ifdef __CYGWIN__
|
||||
|
||||
extern int __isthreaded;
|
||||
|
||||
#define _ARC4_LOCK() \
|
||||
do { \
|
||||
if (__isthreaded) \
|
||||
__lock_acquire (_arc4random_mutex); \
|
||||
} while (0)
|
||||
|
||||
#define _ARC4_UNLOCK() \
|
||||
do { \
|
||||
if (__isthreaded) \
|
||||
__lock_release (_arc4random_mutex); \
|
||||
} while (0)
|
||||
#else
|
||||
|
||||
#define _ARC4_LOCK() __lock_acquire(_arc4random_mutex)
|
||||
|
||||
#define _ARC4_UNLOCK() __lock_release(_arc4random_mutex)
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef _ARC4RANDOM_DATA
|
||||
_ARC4RANDOM_DATA
|
||||
#else
|
||||
|
|
Loading…
Reference in New Issue