summaryrefslogtreecommitdiff
path: root/libtrivfs
diff options
context:
space:
mode:
Diffstat (limited to 'libtrivfs')
-rw-r--r--libtrivfs/ChangeLog7
-rw-r--r--libtrivfs/io-reauthenticate.c13
2 files changed, 10 insertions, 10 deletions
diff --git a/libtrivfs/ChangeLog b/libtrivfs/ChangeLog
index eaf3afa2..51e946e4 100644
--- a/libtrivfs/ChangeLog
+++ b/libtrivfs/ChangeLog
@@ -1,7 +1,8 @@
-Thu Jul 18 19:39:32 1996 Miles Bader <miles@gnu.ai.mit.edu>
+Thu Jul 18 23:14:44 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
- * io-reauthenticate.c (trivfs_S_io_reauthenticate): Hold
- GLOBAL_LOCK while we're setting up the new port.
+ * io-reauthenticate.c (trivfs_S_io_reauthenticate): Use noinstall
+ version of ports_create_port. Put it in the port set after the
+ node has been fully initialized.
Sat Jul 13 20:15:56 1996 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
diff --git a/libtrivfs/io-reauthenticate.c b/libtrivfs/io-reauthenticate.c
index 10e32481..e199642b 100644
--- a/libtrivfs/io-reauthenticate.c
+++ b/libtrivfs/io-reauthenticate.c
@@ -48,13 +48,11 @@ trivfs_S_io_reauthenticate (struct trivfs_protid *cred,
aux_uids = aubuf;
aux_gids = agbuf;
- mutex_lock (&global_lock);
-
do
- err = ports_create_port (cred->po->cntl->protid_class,
- cred->po->cntl->protid_bucket,
- sizeof (struct trivfs_protid),
- &newcred);
+ err = ports_create_port_noinstall (cred->po->cntl->protid_class,
+ cred->po->cntl->protid_bucket,
+ sizeof (struct trivfs_protid),
+ &newcred);
while (err == EINTR);
if (err)
return err;
@@ -126,7 +124,8 @@ trivfs_S_io_reauthenticate (struct trivfs_protid *cred,
/* Signal that the user destroy hook shouldn't be called on NEWCRED. */
newcred->realnode = MACH_PORT_NULL;
- mutex_unlock (&global_lock);
+ mach_port_move_member (mach_task_self (), newcred->pi.port_right,
+ cred->po->cntl->protid_bucket->portset);
if (gubuf != gen_uids)
vm_deallocate (mach_task_self (), (u_int) gen_uids,