diff options
author | jhb <jhb@FreeBSD.org> | 2001-08-23 17:57:37 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2001-08-23 17:57:37 +0000 |
commit | e84a42cf98ec1a503ce10bb3ca319e3e1aa5f514 (patch) | |
tree | a621791a9337601833298d222aef5ac2b39ef245 /sys/kern | |
parent | a480a6737dc604419b27b637a6deb6b419674e7e (diff) | |
download | FreeBSD-src-e84a42cf98ec1a503ce10bb3ca319e3e1aa5f514.zip FreeBSD-src-e84a42cf98ec1a503ce10bb3ca319e3e1aa5f514.tar.gz |
Clear the sx_xholder pointer when downgrading an exclusive lock.
Diffstat (limited to 'sys/kern')
-rw-r--r-- | sys/kern/kern_sx.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/kern/kern_sx.c b/sys/kern/kern_sx.c index e36dda2..212b825 100644 --- a/sys/kern/kern_sx.c +++ b/sys/kern/kern_sx.c @@ -283,6 +283,7 @@ _sx_downgrade(struct sx *sx, const char *file, int line) WITNESS_UNLOCK(&sx->sx_object, LOP_EXCLUSIVE, file, line); sx->sx_cnt = 1; + sx->sx_xholder = NULL; if (sx->sx_shrd_wcnt > 0) cv_broadcast(&sx->sx_shrd_cv); |