aboutsummaryrefslogtreecommitdiff
path: root/libtrivfs/io-reauthenticate.c
diff options
context:
space:
mode:
authorMichael I. Bushnell <mib@gnu.org>1996-07-19 03:42:43 +0000
committerMichael I. Bushnell <mib@gnu.org>1996-07-19 03:42:43 +0000
commit8ad48f6ce444648397d82b107cd196c24599d7cb (patch)
tree1dbc9e6c691521e74a48a9df2b7944366a4c0922 /libtrivfs/io-reauthenticate.c
parentf030ef4e9d02fc0c88113a569773e49d629e9aa2 (diff)
downloadhurd-8ad48f6ce444648397d82b107cd196c24599d7cb.tar.gz
hurd-8ad48f6ce444648397d82b107cd196c24599d7cb.tar.bz2
hurd-8ad48f6ce444648397d82b107cd196c24599d7cb.zip
*** empty log message ***
Diffstat (limited to 'libtrivfs/io-reauthenticate.c')
-rw-r--r--libtrivfs/io-reauthenticate.c13
1 files changed, 6 insertions, 7 deletions
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,