| 248 | } |
| 249 | |
| 250 | static __inline struct thread * |
| 251 | lockmgr_xholder(const struct lock *lk) |
| 252 | { |
| 253 | uintptr_t x; |
| 254 | |
| 255 | x = lockmgr_read_value(lk); |
| 256 | return ((x & LK_SHARE) ? NULL : (struct thread *)LK_HOLDER(x)); |
| 257 | } |
| 258 | |
| 259 | /* |
| 260 | * It assumes sleepq_lock held and returns with this one unheld. |
no outgoing calls
no test coverage detected