summaryrefslogtreecommitdiff
path: root/libdiskfs
diff options
context:
space:
mode:
authorMichael I. Bushnell <mib@gnu.org>1996-03-12 19:36:04 +0000
committerMichael I. Bushnell <mib@gnu.org>1996-03-12 19:36:04 +0000
commitb22c1ee0f9dfb20fa048aadaa2db5cf81aa331c4 (patch)
tree4e8d4a686638a67eac4f8760d06ea99b4bded0cb /libdiskfs
parent9a47313945e7f1bdbd389f6cc2a456044c5765be (diff)
(diskfs_S_file_set_translator): Deallocate ref on CONTROL when we are
done with it.
Diffstat (limited to 'libdiskfs')
-rw-r--r--libdiskfs/file-set-trans.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/libdiskfs/file-set-trans.c b/libdiskfs/file-set-trans.c
index 87118d5d..0972bd40 100644
--- a/libdiskfs/file-set-trans.c
+++ b/libdiskfs/file-set-trans.c
@@ -73,12 +73,15 @@ diskfs_S_file_set_translator (struct protid *cred,
{
mutex_unlock (&np->lock);
error = fsys_goaway (control, killtrans_flags);
+ mach_port_deallocate (mach_task_self (), control);
if (error && (error != MIG_SERVER_DIED)
&& (error != MACH_SEND_INVALID_DEST))
return error;
error = 0;
mutex_lock (&np->lock);
}
+ else if (control != MACH_PORT_NULL)
+ mach_port_deallocate (mach_task_self (), control);
}
/* Handle exclusive passive bit *first*. */