summaryrefslogtreecommitdiff
path: root/boot/boot.c
diff options
context:
space:
mode:
Diffstat (limited to 'boot/boot.c')
-rw-r--r--boot/boot.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/boot/boot.c b/boot/boot.c
index 4dda26b7..462243c3 100644
--- a/boot/boot.c
+++ b/boot/boot.c
@@ -1601,13 +1601,17 @@ S_io_reauthenticate (mach_port_t object,
MACH_MSG_TYPE_MAKE_SEND);
assert_perror (err);
- if (! auth_server_authenticate (authserver,
+ do
+ err = auth_server_authenticate (authserver,
rend, MACH_MSG_TYPE_COPY_SEND,
object, MACH_MSG_TYPE_COPY_SEND,
&gu, &gulen,
&au, &aulen,
&gg, &gglen,
- &ag, &aglen))
+ &ag, &aglen);
+ while (err == EINTR);
+
+ if (!err)
{
mig_deallocate ((vm_address_t) gu, gulen * sizeof *gu);
mig_deallocate ((vm_address_t) au, aulen * sizeof *gu);