From b0c19bd3c206ca8054b321185f867eeed773257e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Deuc=D0=B5?= <shurd@sasktel.net> Date: Sun, 21 Mar 2021 12:25:35 -0400 Subject: [PATCH] Fix bad listening socket detection in multisock A socket isn't bad just because there was no incoming connections. :D --- src/xpdev/multisock.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/xpdev/multisock.c b/src/xpdev/multisock.c index 8e12aff896..6a138a54bf 100644 --- a/src/xpdev/multisock.c +++ b/src/xpdev/multisock.c @@ -387,7 +387,7 @@ SOCKET DLLCALL xpms_accept(struct xpms_set *xpms_set, union xp_sockaddr * addr, for(i=0; i<xpms_set->sock_count; i++) { if(xpms_set->socks[i].sock == INVALID_SOCKET) continue; - if ((fds[scnt].revents & POLLIN) == 0) { + if (fds[scnt].revents & (POLLERR | POLLNVAL)) { closesocket(xpms_set->socks[i].sock); xpms_set->lprintf(LOG_ERR, "%04d * Listening socket went bad", xpms_set->socks[i].sock); xpms_set->socks[i].sock = INVALID_SOCKET; -- GitLab