This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: random number generators - rand(), random(), etc
- From: Eric Rannaud <e at nanocritical dot com>
- To: jb <jb dot 1234abcd at gmail dot com>
- Cc: libc-alpha <libc-alpha at sourceware dot org>
- Date: Fri, 7 Nov 2014 13:13:25 -0800
- Subject: Re: random number generators - rand(), random(), etc
- Authentication-results: sourceware.org; auth=none
- References: <loom dot 20141107T185212-863 at post dot gmane dot org> <CAH_=xoaB7zNpcTXu72nq1gjRYhJDsVjheMh5gOsYCwZgPHRAOQ at mail dot gmail dot com> <loom dot 20141107T210031-509 at post dot gmane dot org>
On Fri, Nov 7, 2014 at 12:07 PM, jb <jb.1234abcd@gmail.com> wrote:
> But, if they share the *single instance* of the generator, does it not make
> both of them non-reentrant and non-threadsafe since they share a state (it
> might be e.g. a seed value) that is modified on each call by one of them ?
They are thread-safe, actually. But not reentrant. As per the man
pages. See rand_r() and random_r() for reentrant versions.