diff options
Diffstat (limited to 'libdiskfs')
-rw-r--r-- | libdiskfs/file-set-trans.c | 3 |
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*. */ |