| 241 | } |
| 242 | |
| 243 | void |
| 244 | _rw_destroy(volatile uintptr_t *c) |
| 245 | { |
| 246 | struct rwlock *rw; |
| 247 | |
| 248 | rw = rwlock2rw(c); |
| 249 | |
| 250 | KASSERT(rw->rw_lock == RW_UNLOCKED, ("rw lock %p not unlocked", rw)); |
| 251 | KASSERT(rw->rw_recurse == 0, ("rw lock %p still recursed", rw)); |
| 252 | rw->rw_lock = RW_DESTROYED; |
| 253 | lock_destroy(&rw->lock_object); |
| 254 | } |
| 255 | |
| 256 | void |
| 257 | rw_sysinit(void *arg) |
nothing calls this directly
no test coverage detected