From 09dfbdf4c7c1428cfc587dcd48bbd645b15d588d Mon Sep 17 00:00:00 2001 From: chao an Date: Tue, 27 Sep 2022 03:12:15 +0800 Subject: [PATCH] netutls/dhcpc: treat EINTR as normal errno A return code of EINTR is perfectly normal, and isn't an error as such. It's an indication that your program may need to do something because a signal occurred, but if not, should re-call recv(). Signed-off-by: chao an --- netutils/dhcpc/dhcpc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/netutils/dhcpc/dhcpc.c b/netutils/dhcpc/dhcpc.c index 3ec6c4af6..43c2edc48 100644 --- a/netutils/dhcpc/dhcpc.c +++ b/netutils/dhcpc/dhcpc.c @@ -765,7 +765,7 @@ int dhcpc_request(FAR void *handle, FAR struct dhcpc_state *presult) * of time). Then loop and send the DISCOVER command again. */ - else if (errno != EAGAIN) + else if (errno != EAGAIN && errno != EINTR) { /* An error other than a timeout was received -- error out */ @@ -865,7 +865,7 @@ int dhcpc_request(FAR void *handle, FAR struct dhcpc_state *presult) * (at most 3 times). */ - else if (errno != EAGAIN) + else if (errno != EAGAIN && errno != EINTR) { /* An error other than a timeout was received */