The mutex_owned() macro should operate on kmutex_t and not on mutex_t.
This fixes 'zdb <poolname>' crash. Reported by: avg Approved by: re (kib)
This commit is contained in:
parent
dcfe611845
commit
d8377a604c
@ -53,7 +53,6 @@ typedef pthread_rwlock_t rwlock_t;
|
||||
#define mutex_lock(l) pthread_mutex_lock(l)
|
||||
#define mutex_trylock(l) pthread_mutex_trylock(l)
|
||||
#define mutex_unlock(l) pthread_mutex_unlock(l)
|
||||
#define mutex_owned(l) pthread_mutex_isowned_np(l)
|
||||
#define rwlock_init(l,f,a) pthread_rwlock_init(l,NULL)
|
||||
#define rwlock_destroy(l) pthread_rwlock_destroy(l)
|
||||
#define rw_rdlock(l) pthread_rwlock_rdlock(l)
|
||||
|
@ -115,6 +115,14 @@ zmutex_destroy(kmutex_t *mp)
|
||||
mp->initialized = B_FALSE;
|
||||
}
|
||||
|
||||
int
|
||||
zmutex_owned(kmutex_t *mp)
|
||||
{
|
||||
ASSERT(mp->initialized == B_TRUE);
|
||||
|
||||
return (mp->m_owner == curthread);
|
||||
}
|
||||
|
||||
void
|
||||
mutex_enter(kmutex_t *mp)
|
||||
{
|
||||
|
@ -237,9 +237,11 @@ typedef struct kmutex {
|
||||
|
||||
#define mutex_init(mp, b, c, d) zmutex_init((kmutex_t *)(mp))
|
||||
#define mutex_destroy(mp) zmutex_destroy((kmutex_t *)(mp))
|
||||
#define mutex_owned(mp) zmutex_owned((kmutex_t *)(mp))
|
||||
|
||||
extern void zmutex_init(kmutex_t *mp);
|
||||
extern void zmutex_destroy(kmutex_t *mp);
|
||||
extern int zmutex_owned(kmutex_t *mp);
|
||||
extern void mutex_enter(kmutex_t *mp);
|
||||
extern void mutex_exit(kmutex_t *mp);
|
||||
extern int mutex_tryenter(kmutex_t *mp);
|
||||
|
Loading…
x
Reference in New Issue
Block a user