blocking socket operations.
- Fix to wait for blocked write on UDP sockets, with a timeout if it
takes too long the packet is dropped.
+ - Fix for wait for udp send to stop when packet is successfully sent.
22 August 2022: Wouter
- Fix #741: systemd socket activation fails on IPv6.
#endif
/* if we set the fd blocking, other threads suddenly
* have a blocking fd that they operate on */
- while(
+ while(sent == -1 && (
#ifndef USE_WINSOCK
errno == EAGAIN || errno == EINTR ||
# ifdef EWOULDBLOCK
WSAGetLastError() == WSAENOBUFS ||
WSAGetLastError() == WSAEWOULDBLOCK
#endif
- ) {
+ )) {
#if defined(HAVE_POLL) || defined(USE_WINSOCK)
struct pollfd p;
int pret;
WSAGetLastError() == WSAENOBUFS ||
WSAGetLastError() == WSAEWOULDBLOCK) {
#endif
- while(
+ while(sent == -1 && (
#ifndef USE_WINSOCK
errno == EAGAIN || errno == EINTR ||
# ifdef EWOULDBLOCK
WSAGetLastError() == WSAENOBUFS ||
WSAGetLastError() == WSAEWOULDBLOCK
#endif
- ) {
+ )) {
#if defined(HAVE_POLL) || defined(USE_WINSOCK)
struct pollfd p;
int pret;