summaryrefslogtreecommitdiff
path: root/libdiskfs
diff options
context:
space:
mode:
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*. */