Fix on_select logic for sockets
This commit is contained in:
parent
ae2873e8f1
commit
1369e3054f
|
@ -889,15 +889,17 @@ socketio_on_select(struct w32_io* pio, BOOL rd) {
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
//listening socket - acceptEx if needed
|
//listening socket - acceptEx if needed
|
||||||
if ((sock_state == SOCK_LISTENING)
|
if (sock_state == SOCK_LISTENING) {
|
||||||
&& (!pio->read_details.pending)
|
if ((!pio->read_details.pending) && (socketio_acceptEx(pio) != 0))
|
||||||
&& (socketio_acceptEx(pio) != 0))
|
|
||||||
return -1;
|
return -1;
|
||||||
|
}
|
||||||
|
else {
|
||||||
//connected socket - WSARecv if needed
|
//connected socket - WSARecv if needed
|
||||||
else if ((!pio->read_details.pending)
|
if ((!pio->read_details.pending)
|
||||||
&& (!socketio_is_io_available(pio, rd))
|
&& (!socketio_is_io_available(pio, rd))
|
||||||
&& (socketio_WSARecv(pio, NULL) != 0))
|
&& (socketio_WSARecv(pio, NULL) != 0))
|
||||||
return -1;
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
Loading…
Reference in New Issue