diff options
author | Brad King <brad.king@kitware.com> | 2022-11-01 12:54:49 (GMT) |
---|---|---|
committer | Kitware Robot <kwrobot@kitware.com> | 2022-11-01 12:54:58 (GMT) |
commit | 923de4b88c7eb2c0325a9c8cb6c03e0210e1f53f (patch) | |
tree | f49fbdcd9eb1aafb315165afb7a41ee3d0224a90 /Utilities/cmcurl/lib/select.c | |
parent | 2d36046f08e08754b93bf112b37570613c43f5fb (diff) | |
parent | 25e9f318784fe4e14c2619780e7cdc573da4585e (diff) | |
download | CMake-923de4b88c7eb2c0325a9c8cb6c03e0210e1f53f.zip CMake-923de4b88c7eb2c0325a9c8cb6c03e0210e1f53f.tar.gz CMake-923de4b88c7eb2c0325a9c8cb6c03e0210e1f53f.tar.bz2 |
Merge topic 'update-curl'
25e9f31878 curl: Set build options the way we need for CMake
9ffe6b0969 Merge branch 'upstream-curl' into update-curl
ec122fff08 curl 2022-10-26 (cd95ee9f)
fa9bbb8627 curl: Update script to get curl 7.86.0
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7851
Diffstat (limited to 'Utilities/cmcurl/lib/select.c')
-rw-r--r-- | Utilities/cmcurl/lib/select.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/Utilities/cmcurl/lib/select.c b/Utilities/cmcurl/lib/select.c index a48da82..2ac0746 100644 --- a/Utilities/cmcurl/lib/select.c +++ b/Utilities/cmcurl/lib/select.c @@ -18,6 +18,8 @@ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY * KIND, either express or implied. * + * SPDX-License-Identifier: curl + * ***************************************************************************/ #include "curl_setup.h" @@ -308,8 +310,12 @@ int Curl_poll(struct pollfd ufds[], unsigned int nfds, timediff_t timeout_ms) else pending_ms = 0; r = poll(ufds, nfds, pending_ms); - if(r <= 0) + if(r <= 0) { + if((r == -1) && (SOCKERRNO == EINTR)) + /* make EINTR from select or poll not a "lethal" error */ + r = 0; return r; + } for(i = 0; i < nfds; i++) { if(ufds[i].fd == CURL_SOCKET_BAD) @@ -352,8 +358,12 @@ int Curl_poll(struct pollfd ufds[], unsigned int nfds, timediff_t timeout_ms) value). */ r = our_select(maxfd, &fds_read, &fds_write, &fds_err, timeout_ms); - if(r <= 0) + if(r <= 0) { + if((r == -1) && (SOCKERRNO == EINTR)) + /* make EINTR from select or poll not a "lethal" error */ + r = 0; return r; + } r = 0; for(i = 0; i < nfds; i++) { |