diff options
| author | Pawel Jakub Dawidek <pjd@FreeBSD.org> | 2007-05-26 21:37:14 +0000 |
|---|---|---|
| committer | Pawel Jakub Dawidek <pjd@FreeBSD.org> | 2007-05-26 21:37:14 +0000 |
| commit | 0d99488ded453b04773f7b11f284d835ff02156d (patch) | |
| tree | f3c1c336b2992ffb70a0a664fb9743635f0675c3 /sys/cddl | |
| parent | a1cdbf3265d21217b64f760cf6e645e834c89c8e (diff) | |
Notes
Diffstat (limited to 'sys/cddl')
| -rw-r--r-- | sys/cddl/compat/opensolaris/sys/mutex.h | 8 | ||||
| -rw-r--r-- | sys/cddl/compat/opensolaris/sys/rwlock.h | 8 |
2 files changed, 14 insertions, 2 deletions
diff --git a/sys/cddl/compat/opensolaris/sys/mutex.h b/sys/cddl/compat/opensolaris/sys/mutex.h index dac724953c2a..d7543af4363e 100644 --- a/sys/cddl/compat/opensolaris/sys/mutex.h +++ b/sys/cddl/compat/opensolaris/sys/mutex.h @@ -46,12 +46,18 @@ typedef enum { typedef struct sx kmutex_t; +#ifndef DEBUG +#define MUTEX_FLAGS (SX_DUPOK | SX_NOWITNESS) +#else +#define MUTEX_FLAGS (SX_DUPOK) +#endif + #define mutex_init(lock, desc, type, arg) do { \ ASSERT((type) == MUTEX_DEFAULT); \ KASSERT(((lock)->lock_object.lo_flags & LO_ALLMASK) != \ LO_EXPECTED, ("lock %s already initialized", #lock)); \ bzero((lock), sizeof(struct sx)); \ - sx_init_flags((lock), "zfs:" #lock, SX_DUPOK); \ + sx_init_flags((lock), "zfs:" #lock, MUTEX_FLAGS); \ } while (0) #define mutex_destroy(lock) sx_destroy(lock) #define mutex_enter(lock) sx_xlock(lock) diff --git a/sys/cddl/compat/opensolaris/sys/rwlock.h b/sys/cddl/compat/opensolaris/sys/rwlock.h index 6facd7a7b5eb..e87717566c15 100644 --- a/sys/cddl/compat/opensolaris/sys/rwlock.h +++ b/sys/cddl/compat/opensolaris/sys/rwlock.h @@ -48,6 +48,12 @@ typedef enum { typedef struct sx krwlock_t; +#ifndef DEBUG +#define RW_FLAGS (SX_DUPOK | SX_NOWITNESS) +#else +#define RW_FLAGS (SX_DUPOK) +#endif + #define RW_READ_HELD(x) (rw_read_held((x))) #define RW_WRITE_HELD(x) (rw_write_held((x))) #define RW_LOCK_HELD(x) (rw_lock_held((x))) @@ -57,7 +63,7 @@ typedef struct sx krwlock_t; KASSERT(((lock)->lock_object.lo_flags & LO_ALLMASK) != \ LO_EXPECTED, ("lock %s already initialized", #lock)); \ bzero((lock), sizeof(struct sx)); \ - sx_init_flags((lock), "zfs:" #lock, SX_DUPOK); \ + sx_init_flags((lock), "zfs:" #lock, RW_FLAGS); \ } while (0) #define rw_destroy(lock) sx_destroy(lock) #define rw_enter(lock, how) do { \ |
