X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fafb-websock.c;h=9f5619fbed5a9dc03f28b29e271f6424bf6ac01f;hb=bd68881a7977d2fe63d4ca85b757ed9c127ec21d;hp=283a88bc9111552c4dfc6d65d988b14979c0553b;hpb=26cefa686d680bcfd36d69cab18a25e986acc217;p=src%2Fapp-framework-binder.git diff --git a/src/afb-websock.c b/src/afb-websock.c index 283a88bc..9f5619fb 100644 --- a/src/afb-websock.c +++ b/src/afb-websock.c @@ -162,7 +162,7 @@ static int check_websocket_upgrade(struct MHD_Connection *con, const struct prot } /* create the web socket */ - ws = proto->create(dup(MHD_get_connection_info(con, MHD_CONNECTION_INFO_CONNECTION_FD)->connect_fd), + ws = proto->create(MHD_get_connection_info(con, MHD_CONNECTION_INFO_CONNECTION_FD)->connect_fd, context, (void*)MHD_resume_connection, con); @@ -204,8 +204,11 @@ int afb_websock_check_upgrade(struct afb_hreq *hreq) ws = NULL; rc = check_websocket_upgrade(hreq->connection, protodefs, afb_hreq_context(hreq), &ws); - if (rc && ws != NULL) - hreq->upgrade = 1; + if (rc == 1) { + hreq->replied = 1; + if (ws != NULL) + hreq->upgrade = 1; + } return rc; }