From: Don Date: Tue, 8 Mar 2022 18:44:34 +0000 (-0800) Subject: nonblock: restore setsockopt method to curlx_nonblock X-Git-Tag: curl-7_83_0~172 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7c44b5195676203ab839d1a11d7cf0886366d589;p=thirdparty%2Fcurl.git nonblock: restore setsockopt method to curlx_nonblock The implementation using setsockopt was removed when BeOS support was purged. However this functionality wasn't BeOS specific, it is still used by for example Orbis OS (Playstation 4/5 OS). Closes #8562 --- diff --git a/lib/nonblock.c b/lib/nonblock.c index 92fb22ec22..28f6e75881 100644 --- a/lib/nonblock.c +++ b/lib/nonblock.c @@ -73,6 +73,12 @@ int curlx_nonblock(curl_socket_t sockfd, /* operate on this */ long flags = nonblock ? 1L : 0L; return IoctlSocket(sockfd, FIONBIO, (char *)&flags); +#elif defined(HAVE_SETSOCKOPT_SO_NONBLOCK) + + /* Orbis OS */ + long b = nonblock ? 1L : 0L; + return setsockopt(sockfd, SOL_SOCKET, SO_NONBLOCK, &b, sizeof(b)); + #else # error "no non-blocking method was found/used/set" #endif