diff --git a/src/sbbs3/ftpsrvr.c b/src/sbbs3/ftpsrvr.c index e10487e6e7eaf453d1613c8098034d3be5c00bba..ef2c1e11fc4085ca48ab89164ceef6968e3561f4 100644 --- a/src/sbbs3/ftpsrvr.c +++ b/src/sbbs3/ftpsrvr.c @@ -1112,7 +1112,7 @@ int sockreadline(SOCKET socket, char* buf, int len, time_t* lastactive) while(rd<len-1) { tv.tv_sec=startup->max_inactivity; - tv.tv_usec=0; + tv.tv_usec=1000; FD_ZERO(&socket_set); FD_SET(socket,&socket_set); @@ -1132,7 +1132,6 @@ int sockreadline(SOCKET socket, char* buf, int len, time_t* lastactive) ,startup->max_inactivity); return(0); } - YIELD(); continue; } recverror(socket,i,__LINE__); @@ -1422,10 +1421,8 @@ static void send_thread(void* arg) error=TRUE; break; } - if(i<1) { - YIELD(); + if(i<1) continue; - } fseek(fp,xfer.filepos+total,SEEK_SET); rd=fread(buf,sizeof(char),sizeof(buf),fp); @@ -1678,10 +1675,8 @@ static void receive_thread(void* arg) error=TRUE; break; } - if(i<1) { - YIELD(); + if(i<1) continue; - } #if defined(SOCKET_DEBUG_RECV_BUF) socket_debug[xfer.ctrl_sock]|=SOCKET_DEBUG_RECV_BUF; @@ -4661,10 +4656,8 @@ void DLLCALL ftp_server(void* arg) FD_SET(server_socket,&socket_set); if((i=select(server_socket+1,&socket_set,NULL,NULL,&tv))<1) { - if(i==0) { - YIELD(); + if(i==0) continue; - } if(ERROR_VALUE==EINTR) lprintf("0000 FTP Server listening interrupted"); else if(ERROR_VALUE == ENOTSOCK)