diff options
Diffstat (limited to 'sys/sys/proc.h')
| -rw-r--r-- | sys/sys/proc.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/sys/sys/proc.h b/sys/sys/proc.h index e902166e1e0c..03a81423ea94 100644 --- a/sys/sys/proc.h +++ b/sys/sys/proc.h @@ -313,6 +313,17 @@ do { \ mtx_assert(__m, (type)); \ } while (0) +#ifdef INVARIANTS +#define THREAD_LOCKPTR_ASSERT(td, lock) \ +do { \ + struct mtx *__m = (td)->td_lock; \ + KASSERT((__m == &blocked_lock || __m == (lock)), \ + ("Thread %p lock %p does not match %p", td, __m, (lock))); \ +} while (0) +#else +#define THREAD_LOCKPTR_ASSERT(td, lock) +#endif + /* * Flags kept in td_flags: * To change these you MUST have the scheduler lock. |
