summaryrefslogtreecommitdiff
path: root/libports
diff options
context:
space:
mode:
authorJustus Winter <4winter@informatik.uni-hamburg.de>2014-04-09 16:55:49 +0200
committerJustus Winter <4winter@informatik.uni-hamburg.de>2014-04-09 18:31:59 +0200
commite77f00db5097d741f27c74c03d194a233f648615 (patch)
tree3a20567fcfba711d179b11cfd8791d126e7781c1 /libports
parentddddd501fedda7f0462702717e634f7be107bd32 (diff)
libports: fix receiver lookup
* libports/interrupt-operation.c (ports_S_interrupt_operation): Fix receiver lookup. * libports/mig-mutate.h: Add mutators. * libports/ports.h: Remove superfluous declarations.
Diffstat (limited to 'libports')
-rw-r--r--libports/interrupt-operation.c4
-rw-r--r--libports/mig-mutate.h7
-rw-r--r--libports/ports.h5
3 files changed, 8 insertions, 8 deletions
diff --git a/libports/interrupt-operation.c b/libports/interrupt-operation.c
index 19c0edf6..943bd4f4 100644
--- a/libports/interrupt-operation.c
+++ b/libports/interrupt-operation.c
@@ -24,10 +24,9 @@
/* Cause a pending request on this object to immediately return. The
exact semantics are dependent on the specific object. */
kern_return_t
-ports_S_interrupt_operation (mach_port_t port,
+ports_S_interrupt_operation (struct port_info *pi,
mach_port_seqno_t seqno)
{
- struct port_info *pi = ports_lookup_port (0, port, 0);
if (!pi)
return EOPNOTSUPP;
pthread_mutex_lock (&_ports_lock);
@@ -35,6 +34,5 @@ ports_S_interrupt_operation (mach_port_t port,
pi->cancel_threshold = seqno;
pthread_mutex_unlock (&_ports_lock);
ports_interrupt_rpcs (pi);
- ports_port_deref (pi);
return 0;
}
diff --git a/libports/mig-mutate.h b/libports/mig-mutate.h
index f692236e..4c011b6a 100644
--- a/libports/mig-mutate.h
+++ b/libports/mig-mutate.h
@@ -23,3 +23,10 @@
end_using_port_info (port_info_t)
#define NOTIFY_IMPORTS \
import "libports/mig-decls.h";
+
+#define INTERRUPT_INTRAN \
+ port_info_t begin_using_port_info_port (mach_port_t)
+#define INTERRUPT_DESTRUCTOR \
+ end_using_port_info (port_info_t)
+#define INTERRUPT_IMPORTS \
+ import "libports/mig-decls.h";
diff --git a/libports/ports.h b/libports/ports.h
index 47d46078..7f131240 100644
--- a/libports/ports.h
+++ b/libports/ports.h
@@ -398,11 +398,6 @@ extern kern_return_t
ports_do_mach_notify_port_destroyed (struct port_info *pi, mach_port_t name);
extern kern_return_t
ports_do_mach_notify_send_once (struct port_info *pi);
-
-/* A default interrupt server */
-int ports_interrupt_server (mach_msg_header_t *, mach_msg_header_t *);
-extern kern_return_t ports_S_interrupt_operation (mach_port_t,
- mach_port_seqno_t);
/* Private data */
extern pthread_mutex_t _ports_lock;