diff options
Diffstat (limited to 'libdiskfs/init-startup.c')
-rw-r--r-- | libdiskfs/init-startup.c | 16 |
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"); |