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
This commit is contained in:
Don 2022-03-08 10:44:34 -08:00 committed by Daniel Stenberg
parent 911714d617
commit 7c44b51956
No known key found for this signature in database
GPG Key ID: 5CC908FDB71E12C2

View File

@ -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