From b5c0c2c14c611344c1314008991679f41bfe38f1 Mon Sep 17 00:00:00 2001 From: "Michael I. Bushnell" Date: Tue, 30 Jan 1996 20:02:42 +0000 Subject: Formerly release-peropen.c.~2~ --- libnetfs/release-peropen.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/libnetfs/release-peropen.c b/libnetfs/release-peropen.c index 4fe479bf..c5565b23 100644 --- a/libnetfs/release-peropen.c +++ b/libnetfs/release-peropen.c @@ -23,7 +23,13 @@ void netfs_release_peropen (struct peropen *po) { - mach_port_deallocate (mach_task_self (), dotdotport); - netfs_nrele (po->np); - free (po); + mutex_lock (&po->np->lock); + if (--po->refcnt) + mutex_unlock (&po->np->lock); + else + { + mach_port_deallocate (mach_task_self (), dotdotport); + netfs_nput (po->np); + free (po); + } } -- cgit v1.2.3