summaryrefslogtreecommitdiff
path: root/ipc
diff options
context:
space:
mode:
authorJustus Winter <4winter@informatik.uni-hamburg.de>2015-07-18 16:55:12 +0200
committerJustus Winter <4winter@informatik.uni-hamburg.de>2015-07-26 12:14:18 +0200
commit724bca75dfd24ab12ae3f25c2ffb10037c14e7d3 (patch)
treeae055a4734ebd348de58d05d3fe11690bd3727b0 /ipc
parentba8d965054a5496d4346444d1e29e7c9cdd9ab67 (diff)
yyy more general locks, crashes, maybe b/c interrupt handler
Diffstat (limited to 'ipc')
-rw-r--r--ipc/ipc_object.h10
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 \