Switch to libsystemd events
[src/app-framework-binder.git] / src / afb-websock.c
index 283a88b..9f5619f 100644 (file)
@@ -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;
 }