| 415 | } |
| 416 | |
| 417 | static __inline void |
| 418 | inm_rele_locked(struct in_multi_head *inmh, struct in_multi *inm) |
| 419 | { |
| 420 | MPASS(inm->inm_refcount > 0); |
| 421 | IN_MULTI_LIST_LOCK_ASSERT(); |
| 422 | |
| 423 | if (--inm->inm_refcount == 0) { |
| 424 | MPASS(inmh != NULL); |
| 425 | inm_disconnect(inm); |
| 426 | inm->inm_ifma->ifma_protospec = NULL; |
| 427 | SLIST_INSERT_HEAD(inmh, inm, inm_nrele); |
| 428 | } |
| 429 | } |
| 430 | |
| 431 | /* |
| 432 | * Return values for imo_multi_filter(). |
no test coverage detected