From c95514dfc454161d9a0590c2a9c6a735c56bacc0 Mon Sep 17 00:00:00 2001 From: "Michael I. Bushnell" Date: Tue, 24 Oct 1995 17:32:30 +0000 Subject: (ports_manage_port_operations_one_thread/internal_demuxer): Don't attempt RPC if we can't get a valid port struct. --- libports/manage-one-thread.c | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) (limited to 'libports/manage-one-thread.c') diff --git a/libports/manage-one-thread.c b/libports/manage-one-thread.c index 41cf4b70..0fd4f67a 100644 --- a/libports/manage-one-thread.c +++ b/libports/manage-one-thread.c @@ -37,19 +37,23 @@ ports_manage_port_operations_one_thread (struct port_bucket *bucket, error_t err; pi = ports_lookup_port (bucket, inp->msgh_local_port, 0); - err = ports_begin_rpc (pi, &link); - if (err) + if (pi) { - mach_port_deallocate (mach_task_self (), inp->msgh_remote_port); - status = 0; + err = ports_begin_rpc (pi, &link); + if (err) + { + mach_port_deallocate (mach_task_self (), inp->msgh_remote_port); + status = 0; + } + else + { + status = demuxer (inp, outp); + ports_end_rpc (pi, &link); + } + ports_port_deref (pi); } else - { - status = demuxer (inp, outp); - ports_end_rpc (pi, &link); - } - - ports_port_deref (pi); + status = 0; return status; } -- cgit v1.2.3