---
wayland/connection.c | 6 ++++--
1 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/wayland/connection.c b/wayland/connection.c
index f83979c..64d62db 100644
--- a/wayland/connection.c
+++ b/wayland/connection.c
@@ -265,10 +265,12 @@ wl_connection_data(struct wl_connection *connection,
uint32_t mask)
msg.msg_flags = 0;
do {
- len = sendmsg(connection->fd, &msg, 0);
+ len = sendmsg(connection->fd, &msg, MSG_NOSIGNAL);
} while (len < 0 && errno == EINTR);
- if (len < 0) {
+ if (len == -1 && errno == EPIPE) {
+ return -1;
+ } else if (len < 0) {
fprintf(stderr,
"write error for connection %p, fd %d: %m\n",
connection, connection->fd);
--
1.7.3.4
_______________________________________________
wayland-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/wayland-devel