summaryrefslogtreecommitdiffstats
path: root/contrib/libc++/src
diff options
context:
space:
mode:
authorjhb <jhb@FreeBSD.org>2015-09-15 22:16:21 +0000
committerjhb <jhb@FreeBSD.org>2015-09-15 22:16:21 +0000
commitd7f36d77c98bb1a51662459ee6dd44719a9125f6 (patch)
treea80668f5c71a98a1b5c72cc7f1eb0c8023ac42c0 /contrib/libc++/src
parent32f63fe59a080910d68078a1c932035fc92d6f65 (diff)
downloadFreeBSD-src-d7f36d77c98bb1a51662459ee6dd44719a9125f6.zip
FreeBSD-src-d7f36d77c98bb1a51662459ee6dd44719a9125f6.tar.gz
Threads holding a read lock of a sleepable rm lock are not permitted
to sleep. The rmlock implementation enforces this by disabling sleeping when a read lock is acquired. To simplify the implementation, sleeping is disabled for most of the duration of rm_rlock. However, it doesn't need to be disabled until the lock is acquired. If a sleepable rm lock is contested, then rm_rlock may need to acquire the backing sx lock. This tripped the overly-broad assertion. Fix by relaxing the assertion around the call to sx_xlock(). Reported by: mjg Reviewed by: kib, mjg MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D3324
Diffstat (limited to 'contrib/libc++/src')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud