summaryrefslogtreecommitdiff
path: root/libdiskfs/init-startup.c
diff options
context:
space:
mode:
Diffstat (limited to 'libdiskfs/init-startup.c')
-rw-r--r--libdiskfs/init-startup.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/libdiskfs/init-startup.c b/libdiskfs/init-startup.c
index 5a0a5115..941c4de0 100644
--- a/libdiskfs/init-startup.c
+++ b/libdiskfs/init-startup.c
@@ -27,17 +27,17 @@ mach_port_t
diskfs_startup_diskfs (mach_port_t bootstrap)
{
mach_port_t realnode;
-
+ struct port_info *newpi;
+
if (bootstrap != MACH_PORT_NULL)
{
_diskfs_ncontrol_ports++;
- errno = fsys_startup (bootstrap,
- ports_get_right (ports_allocate_port
- (diskfs_port_bucket,
- sizeof (struct port_info),
- diskfs_control_class)),
- MACH_MSG_TYPE_MAKE_SEND,
- &realnode);
+ newpi = ports_allocate_port (diskfs_port_bucket,
+ sizeof (struct port_info),
+ diskfs_control_class);
+ errno = fsys_startup (bootstrap, ports_get_right (newpi),
+ MACH_MSG_TYPE_MAKE_SEND, &realnode);
+ ports_port_deref (newpi);
if (errno)
{
perror ("Translator startup failure: fsys_startup");