-#define is_lock_init(is) mutex_init(&(is)->is_lock_data, 0)
-
-#define is_read_lock(is) mutex_lock(&(is)->is_lock_data)
-#define is_read_unlock(is) mutex_unlock(&(is)->is_lock_data)
-#define is_read_sleep(is) thread_sleep_mutex((event_t)(is), \
- &(is)->is_lock_data, \
- THREAD_UNINT)
-
-#define is_write_lock(is) mutex_lock(&(is)->is_lock_data)
-#define is_write_lock_try(is) mutex_try(&(is)->is_lock_data)
-#define is_write_unlock(is) mutex_unlock(&(is)->is_lock_data)
-#define is_write_sleep(is) thread_sleep_mutex((event_t)(is), \
- &(is)->is_lock_data, \
- THREAD_UNINT)
+#define is_lock_init(is) lck_mtx_init(&(is)->is_lock_data, &ipc_lck_grp, &ipc_lck_attr)
+#define is_lock_destroy(is) lck_mtx_destroy(&(is)->is_lock_data, &ipc_lck_grp)
+
+#define is_read_lock(is) lck_mtx_lock(&(is)->is_lock_data)
+#define is_read_unlock(is) lck_mtx_unlock(&(is)->is_lock_data)
+#define is_read_sleep(is) lck_mtx_sleep(&(is)->is_lock_data, \
+ LCK_SLEEP_DEFAULT, \
+ (event_t)(is), \
+ THREAD_UNINT)
+
+#define is_write_lock(is) lck_mtx_lock(&(is)->is_lock_data)
+#define is_write_lock_try(is) lck_mtx_try_lock(&(is)->is_lock_data)
+#define is_write_unlock(is) lck_mtx_unlock(&(is)->is_lock_data)
+#define is_write_sleep(is) lck_mtx_sleep(&(is)->is_lock_data, \
+ LCK_SLEEP_DEFAULT, \
+ (event_t)(is), \
+ THREAD_UNINT)