Before that change, the client disconection made a loop
on read but wasn't closing the link.
Bug-AGL: SPEC-2759
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
Change-Id: Iecfbb95cb1b7079e695ff5c08155b2310bf4b8d8
{
struct api_ws_server *apiws = closure;
{
struct api_ws_server *apiws = closure;
- if ((revents & EPOLLIN) != 0)
- api_ws_server_accept(apiws);
- else if ((revents & EPOLLHUP) != 0)
+ if ((revents & EPOLLHUP) != 0)
api_ws_server_connect(apiws);
api_ws_server_connect(apiws);
+ else if ((revents & EPOLLIN) != 0)
+ api_ws_server_accept(apiws);
}
static void api_ws_server_disconnect(struct api_ws_server *apiws)
}
static void api_ws_server_disconnect(struct api_ws_server *apiws)
static void fdevcb(void *ws, uint32_t revents, struct fdev *fdev)
{
static void fdevcb(void *ws, uint32_t revents, struct fdev *fdev)
{
- if ((revents & EPOLLIN) != 0)
- aws_on_readable(ws);
- else if ((revents & EPOLLHUP) != 0)
+ if ((revents & EPOLLHUP) != 0)
+ else if ((revents & EPOLLIN) != 0)
+ aws_on_readable(ws);
*/
static void listening(void *closure, uint32_t revents, struct fdev *fdev)
{
*/
static void listening(void *closure, uint32_t revents, struct fdev *fdev)
{
- if ((revents & EPOLLIN) != 0)
- accept_supervision_link((int)(intptr_t)closure);
- else if ((revents & EPOLLHUP) != 0) {
+ if ((revents & EPOLLHUP) != 0) {
ERROR("supervision socket closed");
exit(1);
}
ERROR("supervision socket closed");
exit(1);
}
+ if ((revents & EPOLLIN) != 0)
+ accept_supervision_link((int)(intptr_t)closure);