summaryrefslogtreecommitdiffstats
path: root/src/lib
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/krb5/os/sendto_kdc.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/lib/krb5/os/sendto_kdc.c b/src/lib/krb5/os/sendto_kdc.c
index 78bb419bd..b133ec7d2 100644
--- a/src/lib/krb5/os/sendto_kdc.c
+++ b/src/lib/krb5/os/sendto_kdc.c
@@ -497,6 +497,7 @@ krb5int_cm_call_select (const struct select_state *in,
e = getcurtime(&now);
if (e)
return e;
+try_again:
if (out->end_time.tv_sec == 0)
timo = 0;
else {
@@ -527,8 +528,11 @@ krb5int_cm_call_select (const struct select_state *in,
else
dprint(":%F\n", &out->rfds, &out->wfds, &out->xfds, out->max);
- if (*sret < 0)
+ if (*sret < 0) {
+ if (e == EINTR)
+ goto try_again;
return e;
+ }
return 0;
}