From 1a94872d6b77180c6bfceaf560fb55be8909f3b2 Mon Sep 17 00:00:00 2001 From: Ken Raeburn Date: Fri, 13 Apr 2007 04:22:14 +0000 Subject: [PATCH] If select returns EINTR, recompute the expiration time and call it again ticket: 5440 status: open git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19452 dc483132-0cff-0310-8789-dd5450dbe970 --- src/lib/krb5/os/sendto_kdc.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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; } -- 2.26.2