diff options
author | Justus Winter <4winter@informatik.uni-hamburg.de> | 2015-07-18 16:55:12 +0200 |
---|---|---|
committer | Justus Winter <4winter@informatik.uni-hamburg.de> | 2015-07-26 12:14:18 +0200 |
commit | 724bca75dfd24ab12ae3f25c2ffb10037c14e7d3 (patch) | |
tree | ae055a4734ebd348de58d05d3fe11690bd3727b0 /ipc | |
parent | ba8d965054a5496d4346444d1e29e7c9cdd9ab67 (diff) |
yyy more general locks, crashes, maybe b/c interrupt handler
Diffstat (limited to 'ipc')
-rw-r--r-- | ipc/ipc_object.h | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/ipc/ipc_object.h b/ipc/ipc_object.h index be5bea7..8504a23 100644 --- a/ipc/ipc_object.h +++ b/ipc/ipc_object.h @@ -46,7 +46,7 @@ typedef unsigned int ipc_object_bits_t; typedef unsigned int ipc_object_type_t; typedef struct ipc_object { - decl_simple_lock_data(,io_lock_data) + struct lock io_lock_data; ipc_object_refs_t io_references; ipc_object_bits_t io_bits; } *ipc_object_t; @@ -85,10 +85,10 @@ extern struct kmem_cache ipc_object_caches[IOT_NUMBER]; #define io_free(otype, io) \ kmem_cache_free(&ipc_object_caches[(otype)], (vm_offset_t) (io)) -#define io_lock_init(io) simple_lock_init(&(io)->io_lock_data) -#define io_lock(io) simple_lock(&(io)->io_lock_data) -#define io_lock_try(io) simple_lock_try(&(io)->io_lock_data) -#define io_unlock(io) simple_unlock(&(io)->io_lock_data) +#define io_lock_init(io) lock_init(&(io)->io_lock_data, TRUE) +#define io_lock(io) lock_write(&(io)->io_lock_data) +#define io_lock_try(io) lock_try_write(&(io)->io_lock_data) +#define io_unlock(io) lock_write_done(&(io)->io_lock_data) #define io_check_unlock(io) \ MACRO_BEGIN \ |