summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJustus Winter <4winter@informatik.uni-hamburg.de>2015-08-17 21:45:31 +0200
committerJustus Winter <4winter@informatik.uni-hamburg.de>2015-09-14 14:45:05 +0200
commit9380d0cbe4d39c437eac640a21cea2809e8b02fb (patch)
treea4ce2d516a01cab6a049e6ffa2a1c219a5624110
parentfb7a5908b15cccdebe72955fe55b97c4b1aaf21c (diff)
ipc: use a general lock for the ipc_port_multiple lock
* ipc/ipc_port.c (ipc_port_multiple_lock_data): Use a general lock. * ipc/ipc_port.h (ipc_port_multiple_lock_data): Likewise. (ipc_port_multiple_{lock_init,lock,unlock}): Adapt accordingly.
-rw-r--r--ipc/ipc_port.c2
-rw-r--r--ipc/ipc_port.h8
2 files changed, 5 insertions, 5 deletions
diff --git a/ipc/ipc_port.c b/ipc/ipc_port.c
index 4e4ad59..bc9ea58 100644
--- a/ipc/ipc_port.c
+++ b/ipc/ipc_port.c
@@ -57,7 +57,7 @@
#endif /* MACH_KDB */
-decl_simple_lock_data(, ipc_port_multiple_lock_data)
+struct lock ipc_port_multiple_lock_data;
decl_simple_lock_data(, ipc_port_timestamp_lock_data)
ipc_port_timestamp_t ipc_port_timestamp_data;
diff --git a/ipc/ipc_port.h b/ipc/ipc_port.h
index de43b42..97e6068 100644
--- a/ipc/ipc_port.h
+++ b/ipc/ipc_port.h
@@ -158,16 +158,16 @@ typedef struct ipc_port_request {
* when it is taken.
*/
-decl_simple_lock_data(extern, ipc_port_multiple_lock_data)
+extern struct lock ipc_port_multiple_lock_data;
#define ipc_port_multiple_lock_init() \
- simple_lock_init(&ipc_port_multiple_lock_data)
+ lock_init(&ipc_port_multiple_lock_data, TRUE)
#define ipc_port_multiple_lock() \
- simple_lock(&ipc_port_multiple_lock_data)
+ lock_write(&ipc_port_multiple_lock_data)
#define ipc_port_multiple_unlock() \
- simple_unlock(&ipc_port_multiple_lock_data)
+ lock_write_done(&ipc_port_multiple_lock_data)
/*
* The port timestamp facility provides timestamps