summaryrefslogtreecommitdiff
path: root/proc/mgt.c
diff options
context:
space:
mode:
Diffstat (limited to 'proc/mgt.c')
-rw-r--r--proc/mgt.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/proc/mgt.c b/proc/mgt.c
index dacce46e..128a1c8b 100644
--- a/proc/mgt.c
+++ b/proc/mgt.c
@@ -110,13 +110,15 @@ S_proc_reauthenticate (struct proc *p, mach_port_t rendport)
/* Release the global lock while blocking on the auth server and client. */
pthread_mutex_unlock (&global_lock);
- err = auth_server_authenticate (authserver,
- rendport, MACH_MSG_TYPE_COPY_SEND,
- MACH_PORT_NULL, MACH_MSG_TYPE_COPY_SEND,
- &gen_uids, &ngen_uids,
- &aux_uids, &naux_uids,
- &gen_gids, &ngen_gids,
- &aux_gids, &naux_gids);
+ do
+ err = auth_server_authenticate (authserver,
+ rendport, MACH_MSG_TYPE_COPY_SEND,
+ MACH_PORT_NULL, MACH_MSG_TYPE_COPY_SEND,
+ &gen_uids, &ngen_uids,
+ &aux_uids, &naux_uids,
+ &gen_gids, &ngen_gids,
+ &aux_gids, &naux_gids);
+ while (err == EINTR);
pthread_mutex_lock (&global_lock);
if (err)