diff --git a/server.c b/server.c index f197483..7738f6f 100644 --- a/server.c +++ b/server.c @@ -343,8 +343,9 @@ static int handle_accept(threadtimer_t* p) { if((p)->numbytes <= 0) break; if(!(r = check_buffer((p)))) break; } + r &= (p)->numbytes >= 0 || errno == EWOULDBLOCK; printf("Recv finished, continune: %s\n", r?"true":"false"); - return r && (p)->numbytes >= 0; + return r; } static void handle_int(int signo) {