Hash :
0ab4517a
Author :
Date :
2023-11-09T15:56:32
random: Fix multithread-safety bug on CheriBSD. * m4/random.m4 (gl_FUNC_RANDOM): Override on CheriBSD. * lib/random.c: Include glthread/lock.h. (__libc_lock_define_initialized, __libc_lock_lock, __libc_lock_unlock): Define to do real locking. * modules/random (Depends-on): Add lock. * doc/posix-functions/random.texi: Mention the multithread-safety problem.
Description:
global random number generator
Files:
lib/random.c
m4/random.m4
Depends-on:
stdlib
libc-config [test $HAVE_RANDOM = 0 || test $REPLACE_RANDOM = 1 || test $REPLACE_INITSTATE = 1 || test $REPLACE_SETSTATE = 1]
lock [test $HAVE_RANDOM = 0 || test $REPLACE_RANDOM = 1 || test $REPLACE_INITSTATE = 1 || test $REPLACE_SETSTATE = 1]
stdint [test $HAVE_RANDOM = 0 || test $REPLACE_RANDOM = 1 || test $REPLACE_INITSTATE = 1 || test $REPLACE_SETSTATE = 1]
random_r [test $HAVE_RANDOM = 0 || test $REPLACE_RANDOM = 1 || test $REPLACE_INITSTATE = 1 || test $REPLACE_SETSTATE = 1]
configure.ac:
gl_FUNC_RANDOM
gl_CONDITIONAL([GL_COND_OBJ_RANDOM],
[test $HAVE_RANDOM = 0 || test $REPLACE_RANDOM = 1 || test $REPLACE_INITSTATE = 1 || test $REPLACE_SETSTATE = 1])
AM_COND_IF([GL_COND_OBJ_RANDOM], [
gl_PREREQ_RANDOM
])
gl_STDLIB_MODULE_INDICATOR([random])
Makefile.am:
if GL_COND_OBJ_RANDOM
lib_SOURCES += random.c
endif
Include:
<stdlib.h>
License:
LGPL
Maintainer:
glibc