| 314 | } |
| 315 | |
| 316 | void |
| 317 | rm_destroy(struct rmlock *rm) |
| 318 | { |
| 319 | |
| 320 | rm_assert(rm, RA_UNLOCKED); |
| 321 | LIST_FIRST(&rm->rm_activeReaders) = RM_DESTROYED; |
| 322 | if (rm->lock_object.lo_flags & LO_SLEEPABLE) |
| 323 | sx_destroy(&rm->rm_lock_sx); |
| 324 | else |
| 325 | mtx_destroy(&rm->rm_lock_mtx); |
| 326 | lock_destroy(&rm->lock_object); |
| 327 | } |
| 328 | |
| 329 | int |
| 330 | rm_wowned(const struct rmlock *rm) |
no test coverage detected