summaryrefslogtreecommitdiff
path: root/libdiskfs/protid-make.c
diff options
context:
space:
mode:
Diffstat (limited to 'libdiskfs/protid-make.c')
-rw-r--r--libdiskfs/protid-make.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/libdiskfs/protid-make.c b/libdiskfs/protid-make.c
index 2921f569..c67bd41b 100644
--- a/libdiskfs/protid-make.c
+++ b/libdiskfs/protid-make.c
@@ -24,8 +24,8 @@ error_t
diskfs_start_protid (struct peropen *po, struct protid **cred)
{
error_t err =
- ports_create_port (diskfs_protid_class, diskfs_port_bucket,
- sizeof (struct protid), cred);
+ ports_create_port_noinstall (diskfs_protid_class, diskfs_port_bucket,
+ sizeof (struct protid), cred);
if (! err)
{
po->refcnt++;
@@ -61,6 +61,9 @@ diskfs_finish_protid (struct protid *cred, uid_t *uids, int nuids,
bcopy (gids, cred->gids, ngids * sizeof (uid_t));
else
*cred->gids = 0;
+
+ mach_port_move_member (mach_task_self (), cred->pi.port_right,
+ diskfs_port_bucket->portset);
}
/* Create and return a protid for an existing peropen PO in CRED. The uid