rand() is racy in multi-threaded programs?
Andriy Gapon
avg at FreeBSD.org
Wed Dec 2 21:53:46 UTC 2020
Specifically, concurrent "first" calls to rand().
There can be a moment when rand3_state is allocated but not completely set up
with initstate_r().
Is this a known / documented issue?
Should we try to do better?
P.S.
I am seeing this issue from time to time when running ztest program (from ZFS).
I guess that it uses rand() just because that's what OpenZFS did / does on
illumos and Linux.
P.P.S.
Just realized that the problem can be relatively recent.
https://svnweb.freebsd.org/base?view=revision&revision=357382
--
Andriy Gapon
More information about the freebsd-current
mailing list