# HG changeset patch # User Rob Flynn # Date 957649831 0 # Node ID 1a5ee1f8b39eb15591752d07d889e1a26cea9f69 # Parent fba779cc01f565c96c8d7b1c64bb5c9031254b08 [gaim-migrate @ 228] Correctly inits the non blocking stuff committer: Tailor Script diff -r fba779cc01f5 -r 1a5ee1f8b39e src/rvous.c --- a/src/rvous.c Fri May 05 22:33:38 2000 +0000 +++ b/src/rvous.c Sat May 06 21:50:31 2000 +0000 @@ -32,7 +32,7 @@ #include #include #include - +#include #include #include "gaim.h" @@ -266,12 +266,19 @@ ft->user, ft->size); debug_print(debug_buff); + fcntl(ft->fd, F_SETFL, O_NONBLOCK); + while (rcv != ft->size && cont) { int i; float pcnt = ((float)rcv)/((float)ft->size); int remain = ft->size - rcv > 1024 ? 1024 : ft->size - rcv; - read_rv = recv(ft->fd, buf, remain, O_NONBLOCK); + read_rv = read(ft->fd, buf, remain); if(read_rv < 0) { + if (errno == EWOULDBLOCK) { + while(gtk_events_pending()) + gtk_main_iteration(); + continue; + } fclose(ft->f); close(ft->fd); g_free(buf);