summaryrefslogtreecommitdiff
path: root/libports/manage-multithread.c
diff options
context:
space:
mode:
Diffstat (limited to 'libports/manage-multithread.c')
-rw-r--r--libports/manage-multithread.c23
1 files changed, 3 insertions, 20 deletions
diff --git a/libports/manage-multithread.c b/libports/manage-multithread.c
index 9843b9c0..2013de96 100644
--- a/libports/manage-multithread.c
+++ b/libports/manage-multithread.c
@@ -23,16 +23,6 @@
#include <assert.h>
#include <cthreads.h>
-/* Fill in a cancellation error for the incoming RPC in inp
- so that it will be retried. For now, just return junk. XXX */
-static void
-cancel_rpc (mach_msg_header_t *inp,
- mach_msg_header_t *outp)
-{
-}
-
-
-
void
ports_manage_port_operations_multithread (struct port_bucket *bucket,
ports_demuxer_type demuxer,
@@ -78,16 +68,9 @@ ports_manage_port_operations_multithread (struct port_bucket *bucket,
ports_begin_rpc (pi, &link);
mutex_lock (&_ports_lock);
if (inp->msgh_seqno < pi->cancel_threshhold)
- {
- cancel_rpc (inp, outp);
- status = 1;
- mutex_unlock (&_ports_lock);
- }
- else
- {
- mutex_unlock (&_ports_lock);
- status = demuxer (inp, outp);
- }
+ hurd_thread_cancel (link.thread);
+ mutex_unlock (&_ports_lock);
+ status = demuxer (inp, outp);
ports_end_rpc (pi, &link);
ports_port_deref (pi);
}