summaryrefslogtreecommitdiff
path: root/libdiskfs/boot-start.c
diff options
context:
space:
mode:
Diffstat (limited to 'libdiskfs/boot-start.c')
-rw-r--r--libdiskfs/boot-start.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/libdiskfs/boot-start.c b/libdiskfs/boot-start.c
index 2b357541..829994d1 100644
--- a/libdiskfs/boot-start.c
+++ b/libdiskfs/boot-start.c
@@ -181,7 +181,8 @@ diskfs_start_bootstrap ()
assert (retry_name[0] == '\0');
assert (execnode != MACH_PORT_NULL);
err = file_set_translator (execnode, 0, FS_TRANS_SET, 0, 0, 0,
- diskfs_exec_ctl, MACH_MSG_TYPE_MOVE_SEND);
+ diskfs_exec_ctl, MACH_MSG_TYPE_COPY_SEND);
+ mach_port_deallocate (mach_task_self (), diskfs_exec_ctl);
mach_port_deallocate (mach_task_self (), execnode);
assert_perror (err);
}
@@ -546,8 +547,9 @@ diskfs_S_fsys_init (mach_port_t port,
RPC of its own, as init would have sent it. */
err = task_get_bootstrap_port (mach_task_self (), &bootstrap);
assert_perror (err);
- err = fsys_init (bootstrap, parent_proc, MACH_MSG_TYPE_MOVE_SEND,
+ err = fsys_init (bootstrap, parent_proc, MACH_MSG_TYPE_COPY_SEND,
authhandle);
+ mach_port_deallocate (mach_task_self (), parent_proc);
mach_port_deallocate (mach_task_self (), bootstrap);
assert_perror (err);
}