diff options
Diffstat (limited to 'src/microhttpd/test_client_put_stop.c')
-rw-r--r-- | src/microhttpd/test_client_put_stop.c | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/src/microhttpd/test_client_put_stop.c b/src/microhttpd/test_client_put_stop.c index 9a3c3a67..ce197190 100644 --- 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, | |||
763 | { | 763 | { |
764 | if (_MHD_dumbClient_needs_process (clnt)) | 764 | if (_MHD_dumbClient_needs_process (clnt)) |
765 | return _MHD_dumbClient_process (clnt); | 765 | return _MHD_dumbClient_process (clnt); |
766 | else if (_MHD_dumbClient_needs_recv (clnt) && FD_ISSET (clnt->sckt, rs)) | 766 | else if (MHD_INVALID_SOCKET != clnt->sckt) |
767 | return _MHD_dumbClient_process (clnt); | 767 | { |
768 | else if (_MHD_dumbClient_needs_send (clnt) && FD_ISSET (clnt->sckt, ws)) | 768 | if (_MHD_dumbClient_needs_recv (clnt) && FD_ISSET (clnt->sckt, rs)) |
769 | return _MHD_dumbClient_process (clnt); | 769 | return _MHD_dumbClient_process (clnt); |
770 | else if (FD_ISSET (clnt->sckt, es)) | 770 | else if (_MHD_dumbClient_needs_send (clnt) && FD_ISSET (clnt->sckt, ws)) |
771 | return _MHD_dumbClient_process (clnt); | 771 | return _MHD_dumbClient_process (clnt); |
772 | else if (FD_ISSET (clnt->sckt, es)) | ||
773 | return _MHD_dumbClient_process (clnt); | ||
774 | } | ||
772 | return DUMB_CLIENT_FINISHED == clnt->stage; | 775 | return DUMB_CLIENT_FINISHED == clnt->stage; |
773 | } | 776 | } |
774 | 777 | ||