<p dir="ltr"><br>
On Sep 28, 2014 11:49 AM, "Karsten Otto" <<a href="mailto:karsten.otto@posteo.de">karsten.otto@posteo.de</a>> wrote:<br>
><br>
> From: Philip Withnall <<a href="mailto:philip@tecnocode.co.uk">philip@tecnocode.co.uk</a>><br>
><br>
> This happens if the socket has been gracefully closed.<br>
><br>
> [KAO: It prevents a potential infinite loop when using a different<br>
> event handling mechanism than epoll, if said mechanism cannot<br>
> distinguish EOF from regular read (e.g. select).]<br>
> ---<br>
>  src/wayland-server.c | 2 +-<br>
>  1 file changed, 1 insertion(+), 1 deletion(-)<br>
><br>
> diff --git a/src/wayland-server.c b/src/wayland-server.c<br>
> index 674aeca..85741cb 100644<br>
> --- a/src/wayland-server.c<br>
> +++ b/src/wayland-server.c<br>
> @@ -260,7 +260,7 @@ wl_client_connection_data(int fd, uint32_t mask, void *data)<br>
>         len = 0;<br>
>         if (mask & WL_EVENT_READABLE) {<br>
>                 len = wl_connection_read(connection);<br>
> -               if (len < 0 && errno != EAGAIN) {<br>
> +               if (len == 0 || (len < 0 && errno != EAGAIN)) {<br>
>                         wl_client_destroy(client);<br>
>                         return 1;</p>
<p dir="ltr">It seems to me as if we should push this up the pipe to wl_connection_read so we fix it server-side too.</p>
<p dir="ltr">>                 }<br>
> --<br>
> 1.9.1<br>
><br>
> _______________________________________________<br>
> wayland-devel mailing list<br>
> <a href="mailto:wayland-devel@lists.freedesktop.org">wayland-devel@lists.freedesktop.org</a><br>
> <a href="http://lists.freedesktop.org/mailman/listinfo/wayland-devel">http://lists.freedesktop.org/mailman/listinfo/wayland-devel</a><br>
</p>