summaryrefslogtreecommitdiffstats
path: root/lib/libc/stdlib/random.c
diff options
context:
space:
mode:
authormjg <mjg@FreeBSD.org>2014-10-30 05:10:33 +0000
committermjg <mjg@FreeBSD.org>2014-10-30 05:10:33 +0000
commit5bb6a8bca1bb93742c27552b40fa4d271db0beb7 (patch)
tree8c1ec6be0534591701f9be349041b965ee284e86 /lib/libc/stdlib/random.c
parentecd6f69066140dbe726cff353b7bac5f6741dd30 (diff)
downloadFreeBSD-src-5bb6a8bca1bb93742c27552b40fa4d271db0beb7.zip
FreeBSD-src-5bb6a8bca1bb93742c27552b40fa4d271db0beb7.tar.gz
filedesc: get rid of atomic_load_acq_int from fget_unlocked
A read barrier was necessary because fd table pointer and table size were updated separately, opening a window where fget_unlocked could read new size and old pointer. This patch puts both these fields into one dedicated structure, pointer to which is later atomically updated. As such, fget_unlocked only needs data a dependency barrier which is a noop on all supported architectures. Reviewed by: kib (previous version) MFC after: 2 weeks
Diffstat (limited to 'lib/libc/stdlib/random.c')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud