Hello, with moving towards NET_RLOCK...() shall we add an explicit assert to state caller owns netlock exclusively? I propose to introduce NET_ASSERT_WLOCKED()
NET_ASSERT_WLOCKED() thanks and regards sashan --------8<---------------8<---------------8<------------------8<-------- diff --git a/sys/sys/systm.h b/sys/sys/systm.h index a26d7f98f21..2dc9d3274fa 100644 --- a/sys/sys/systm.h +++ b/sys/sys/systm.h @@ -361,9 +361,17 @@ do { \ splassert_fail(RW_READ, _s, __func__); \ } while (0) +#define NET_ASSERT_WLOCKED() \ +do { \ + int _s = rw_status(&netlock); \ + if ((splassert_ctl > 0) && (_s != RW_WRITE)) \ + splassert_fail(RW_WRITE, _s, __func__); \ +} while (0) + #else /* DIAGNOSTIC */ #define NET_ASSERT_UNLOCKED() do {} while (0) #define NET_ASSERT_LOCKED() do {} while (0) +#define NET_ASSERT_WLOCKED() do {} while (0) #endif /* !DIAGNOSTIC */ __returns_twice int setjmp(label_t *);