From 490163de4a4f5dd9fa18aecbc13b2f9da342e460 Mon Sep 17 00:00:00 2001 From: Ansen Dong Date: Thu, 14 Jan 2016 03:02:53 -0500 Subject: [PATCH] if read() return EINTER,retry --- src/net.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/net.c b/src/net.c index dc682fa..5480667 100644 --- a/src/net.c +++ b/src/net.c @@ -334,6 +334,8 @@ net_write(struct connection *c, int len, int *written) if (r <= -1) { switch (errno) { case EINTR: + *written = 0; + return (KORE_RESULT_OK); case EAGAIN: c->flags &= ~CONN_WRITE_POSSIBLE; return (KORE_RESULT_OK); @@ -357,6 +359,8 @@ net_read(struct connection *c, int *bytes) if (r <= 0) { switch (errno) { case EINTR: + *bytes = 0; + return (KORE_RESULT_OK); case EAGAIN: c->flags &= ~CONN_READ_POSSIBLE; return (KORE_RESULT_OK);