fix blocking read
authorJosé Bollo <jose.bollo@iot.bzh>
Mon, 8 Aug 2016 15:59:58 +0000 (17:59 +0200)
committerJosé Bollo <jose.bollo@iot.bzh>
Mon, 8 Aug 2016 16:00:16 +0000 (18:00 +0200)
Change-Id: I7e39d4ce7c0f83e3398f344ade7e5114cf203efb
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
src/afb-api-ws.c

index e81306a..1049a07 100644 (file)
@@ -1023,6 +1023,8 @@ static void api_ws_server_accept(struct api_ws *api)
                        lenaddr = (socklen_t)sizeof addr;
                        client->fd = accept(api->fd, &addr, &lenaddr);
                        if (client->fd >= 0) {
+                               fcntl(client->fd, F_SETFD, FD_CLOEXEC);
+                               fcntl(client->fd, F_SETFL, O_NONBLOCK);
                                client->ws = afb_ws_create(afb_common_get_event_loop(), client->fd, &api_ws_server_ws_itf, client);
                                if (client->ws != NULL) {
                                        client->api = api->api;