markj a05393f041 Fix the turnstile_lock() KPI.
turnstile_{lock,unlock}() were added for use in epoch.  turnstile_lock()
returned NULL to indicate that the calling thread had lost a race and
the turnstile was no longer associated with the given lock, or the lock
owner.  However, reader-writer locks may not have a designated owner,
in which case turnstile_lock() would return NULL and
epoch_block_handler_preempt() would leak spinlocks as a result.

Apply a minimal fix: return the lock owner as a separate return value.

Reviewed by:	kib
MFC after:	3 days
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D21048
2019-07-24 23:04:59 +00:00
..
2019-07-22 21:55:33 +00:00
2019-07-17 16:38:29 +00:00
2019-07-10 13:47:10 +00:00
2019-07-22 16:01:20 +00:00
2019-06-22 05:35:23 +00:00
2019-07-24 23:04:59 +00:00
2019-07-22 16:01:20 +00:00
2019-07-24 21:26:17 +00:00
2019-07-24 16:51:14 +00:00
2019-07-24 23:04:59 +00:00
2019-07-14 21:08:54 +00:00