From: Daniel Stenberg Date: Mon, 12 Dec 2022 15:45:53 +0000 (+0100) Subject: server/sws: if asked to close connection, skip the websocket handling X-Git-Tag: curl-7_87_0~27 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b716511f0fdc0eb381390df1677a870daf8bb5fc;p=thirdparty%2Fcurl.git server/sws: if asked to close connection, skip the websocket handling --- diff --git a/tests/server/sws.c b/tests/server/sws.c index bcc4d40dce..e4ef0ae4ae 100644 --- a/tests/server/sws.c +++ b/tests/server/sws.c @@ -881,12 +881,12 @@ static int get_request(curl_socket_t sock, struct httprequest *req) req->offset = 0; /* read websocket traffic */ - do { + if(req->open) + do { got = sread(sock, reqbuf + req->offset, REQBUFSIZ - req->offset); if(got > 0) req->offset += got; - logmsg("Got: %d", (int)got); if((got == -1) && ((EAGAIN == errno) || (EWOULDBLOCK == errno))) { int rc; @@ -894,6 +894,7 @@ static int get_request(curl_socket_t sock, struct httprequest *req) fd_set output; struct timeval timeout = {1, 0}; /* 1000 ms */ + logmsg("Got EAGAIN from sread"); FD_ZERO(&input); FD_ZERO(&output); got = 0; @@ -1917,6 +1918,9 @@ static int service_connection(curl_socket_t msgsock, struct httprequest *req, logmsg("=> persistent connection request ended, awaits new request\n"); return 1; } + else { + logmsg("=> NOT a persistent connection, close close CLOSE\n"); + } return -1; }