[PATCH 1/2] server: Only remove non-listening fd from poll
Zebediah Figura (she/her)
zfigura at codeweavers.com
Fri Jul 2 14:33:09 CDT 2021
On 7/2/21 1:06 PM, David Koolhoven wrote:
> This makes sure we poll listening non-connection
> file descriptors even if the event is POLLERR or POLLHUP.
>
> Signed-off-by: David Koolhoven <david at koolhoven-home.net>
> ---
> server/sock.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/server/sock.c b/server/sock.c
> index befa9117c13..ce2f390ec05 100644
> --- a/server/sock.c
> +++ b/server/sock.c
> @@ -1024,7 +1024,7 @@ static void sock_poll_event( struct fd *fd, int event )
> fprintf(stderr, "socket %p select event: %x\n", sock, event);
>
> /* we may change event later, remove from loop here */
> - if (event & (POLLERR|POLLHUP)) set_fd_events( sock->fd, -1 );
> + if (event & (POLLERR|POLLHUP) && sock->state != SOCK_LISTENING) set_fd_events( sock->fd, -1 );
>
> switch (sock->state)
> {
>
This doesn't look right. Why do we need to do this?
More information about the wine-devel
mailing list