summaryrefslogtreecommitdiffstats
path: root/Utilities/cmcurl/lib/select.c
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2022-11-01 12:54:49 (GMT)
committerKitware Robot <kwrobot@kitware.com>2022-11-01 12:54:58 (GMT)
commit923de4b88c7eb2c0325a9c8cb6c03e0210e1f53f (patch)
treef49fbdcd9eb1aafb315165afb7a41ee3d0224a90 /Utilities/cmcurl/lib/select.c
parent2d36046f08e08754b93bf112b37570613c43f5fb (diff)
parent25e9f318784fe4e14c2619780e7cdc573da4585e (diff)
downloadCMake-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.c14
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++) {