From 84d02312c1946a23751b6eaaeff113ca1025b9b0 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jos=C3=A9=20Bollo?= Date: Thu, 21 Apr 2016 13:03:39 +0200 Subject: [PATCH] handles disconnection MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Change-Id: I0fce95b5ff4de8e826ceb4da1bc2ac86f21d70b1 Signed-off-by: José Bollo --- src/afb-ws.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/afb-ws.c b/src/afb-ws.c index 66d1e8d1..2ebfbb93 100644 --- a/src/afb-ws.c +++ b/src/afb-ws.c @@ -148,12 +148,17 @@ static ssize_t aws_readv(struct afb_ws *ws, const struct iovec *iov, int iovcnt) do { rc = readv(ws->fd, iov, iovcnt); } while(rc == -1 && errno == EINTR); + if (rc == 0) { + errno = EPIPE; + rc = -1; + } return rc; } static void aws_on_readable(struct afb_ws *ws) { - websock_dispatch(ws->ws); + if (websock_dispatch(ws->ws) < 0 && errno == EPIPE) + afb_ws_disconnect(ws); } static void aws_on_hangup(struct afb_ws *ws) -- 2.16.6