libmicrohttpd

HTTP/1.x server C library (MHD 1.x, stable)
Log | Files | Refs | Submodules | README | LICENSE

commit 5f6ccd331f55b313f29161cc9d2077326c21d73f
parent f8c46afbd0564a8a72f65aa406152a54b64b27c0
Author: Evgeny Grin (Karlson2k) <k2k@narod.ru>
Date:   Thu, 25 Nov 2021 11:44:04 +0300

test_client_put_stop: handle correctly close phase on the client side

Diffstat:
Msrc/microhttpd/test_client_put_stop.c | 15+++++++++------
1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/src/microhttpd/test_client_put_stop.c b/src/microhttpd/test_client_put_stop.c @@ -763,12 +763,15 @@ _MHD_dumbClient_process_from_fdsets (struct _MHD_dumbClient *clnt, { if (_MHD_dumbClient_needs_process (clnt)) return _MHD_dumbClient_process (clnt); - else if (_MHD_dumbClient_needs_recv (clnt) && FD_ISSET (clnt->sckt, rs)) - return _MHD_dumbClient_process (clnt); - else if (_MHD_dumbClient_needs_send (clnt) && FD_ISSET (clnt->sckt, ws)) - return _MHD_dumbClient_process (clnt); - else if (FD_ISSET (clnt->sckt, es)) - return _MHD_dumbClient_process (clnt); + else if (MHD_INVALID_SOCKET != clnt->sckt) + { + if (_MHD_dumbClient_needs_recv (clnt) && FD_ISSET (clnt->sckt, rs)) + return _MHD_dumbClient_process (clnt); + else if (_MHD_dumbClient_needs_send (clnt) && FD_ISSET (clnt->sckt, ws)) + return _MHD_dumbClient_process (clnt); + else if (FD_ISSET (clnt->sckt, es)) + return _MHD_dumbClient_process (clnt); + } return DUMB_CLIENT_FINISHED == clnt->stage; }