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:
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;
}