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-08-28 15:47:56 +0200 |
commit | 6218998e6c0392d988c86407380a841d90e874c8 (patch) | |
tree | b201bd859632498252d9483df75575774bedc5fd /ipc | |
parent | 46d2c1dda2df8f185278aad63ea51f61336e8e7a (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 \ |