On 2/10/06, Gabriele Greco <[EMAIL PROTECTED]> wrote: > I've a problem on an application on WIN32 with GTK 2.8.x that works > flawlessly with GTK 2.6.x (always on win32) or GTK 2.8.x (on unix). > > It seems that with 2.8.9 (the installer version got from gimp-win home) > the sockets are handled as non blocking also if you don't specify this. > > It's a wanted behaviour? > > Specifically I often receive "0" if I call recv() in my gdk_input_add( > GDK_INPUT_READ ) call, this happens on GTK 2.6 and early only when the > connection is closed by the remote peer. > > With GTK 2.8, and only on WIN32, I often receive 0 from recv and an > error code of WSAEWOULDBLOCK. > > This is a problem since my code often rely on the fact socket calls are > blocking...
That is one of the changes that were made in Glib 2.8.x. All of the win32 GIOChannel stuff was changed such that it'll leave your sockets in non-blocking mode. See this bug report for more information: http://bugzilla.gnome.org/show_bug.cgi?id=147392 Basically, if you want your socket to be non-blocking, you have to make it so in the input function every time it is triggered. I thought that I had seen this in the documentation somewhere, but apparently not. -D _______________________________________________ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list