From 0b6286a3c5eb86e3cca72d0840fc009855e4fba5 Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Thu, 28 Oct 2010 23:50:13 +0200 Subject: Fix _ports_lock usage * libports/create-internal.c (_ports_create_port_internal): Add label after mutex_unlock(_ports_lock), use it where appropriate. --- libports/create-internal.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'libports') diff --git a/libports/create-internal.c b/libports/create-internal.c index 5db71129..7a9b1cb0 100644 --- a/libports/create-internal.c +++ b/libports/create-internal.c @@ -100,7 +100,7 @@ _ports_create_port_internal (struct port_class *class, err = mach_port_move_member (mach_task_self (), pi->port_right, bucket->portset); if (err) - goto lose; + goto lose_unlocked; } *(void **)result = pi; @@ -110,6 +110,7 @@ _ports_create_port_internal (struct port_class *class, err = EINTR; lose: mutex_unlock (&_ports_lock); + lose_unlocked: err = mach_port_mod_refs (mach_task_self (), port, MACH_PORT_RIGHT_RECEIVE, -1); assert_perror (err); -- cgit v1.2.3