bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH 2/2] libports: fix receiver lookup


From: Justus Winter
Subject: [PATCH 2/2] libports: fix receiver lookup
Date: Wed, 9 Apr 2014 23:17:28 +0200

* libports/interrupt-operation.c (ports_S_interrupt_operation): Fix
receiver lookup.
* libports/mig-mutate.h: Add mutators.
* libports/ports.h: Remove superfluous declarations.
---
 libports/interrupt-operation.c | 4 +---
 libports/mig-mutate.h          | 7 +++++++
 libports/ports.h               | 5 -----
 3 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/libports/interrupt-operation.c b/libports/interrupt-operation.c
index 19c0edf..943bd4f 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 f692236..4c011b6 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 47d4607..7f13124 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;
-- 
1.9.1




reply via email to

[Prev in Thread] Current Thread [Next in Thread]