diff options
author | José Bollo <jose.bollo@iot.bzh> | 2018-03-16 11:39:07 +0100 |
---|---|---|
committer | José Bollo <jose.bollo@iot.bzh> | 2018-03-16 16:27:01 +0100 |
commit | 1fca4b9b36dc1bb3c5ee7ec1ce6b5d74ffbfe29c (patch) | |
tree | 942598aca919fc4b38f48515a694f989191ce742 | |
parent | 24d000c2290126abf88204089d132229d63f9a05 (diff) |
afb-websock: Fix double close
Integration with newer versions of libmicrohttpd
was closing two times the file descriptor:
- one time by the websocket within afb
- one time by the upgrade close of libmicrohttpd
Thanks to 'autoclose' feature of 'fdev', the solution
is quiet easily.
Bug-AGL: SPEC-1345
Change-Id: Ifb691b3f69c095b5ff44bfd7f7267ea24d52df6d
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
-rw-r--r-- | src/afb-websock.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/afb-websock.c b/src/afb-websock.c index 257bd193..fdfca9d7 100644 --- a/src/afb-websock.c +++ b/src/afb-websock.c @@ -31,6 +31,7 @@ #include "afb-websock.h" #include "afb-ws-json1.h" #include "afb-fdev.h" +#include "fdev.h" /**************** WebSocket connection upgrade ****************************/ @@ -150,6 +151,7 @@ static void upgrade_to_websocket( /* TODO */ close_websocket(urh); } else { + fdev_set_autoclose(fdev, 0); ws = memo->proto->create(fdev, memo->apiset, &memo->hreq->xreq.context, close_websocket, urh); if (ws == NULL) { /* TODO */ |