status of IO Channels on Windows?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Rick Jones writes:
 > I was wondering about the status of IO Channels under Windows -
 > specificially with respect to SOCKETs (the capitalization is
 > Windows', not mine :) I ask because:

 > Currently full support is available on UNIX platforms, support for 
 > Windows is only partially complete.

There are some gotchas, but many things work without problems... Is
that vague enough? ;)

One gotcha is that setting up a watch on a GIOChannel to a socket puts
the socket in non-blocking mode. This doesn't happen on Unix. But
then, if you are using watches, your program presumably should use
non-blocking IO anyway (otherwise, why not just use blocking socket
API calls directly), so this shouldn't be a big deal.

There are also differences in how and when the callbacks are
called. There are some open bugs on this (see for instance #331214)
and things may change a bit (to make the behaviour more like on Unix)
soon. Anyway, your best bet is to write your code so that when you get
a callback for G_IO_IN, you keep looping reading as much as you can
get until you get the G_IO_STATUS_AGAIN indication.

(BTW, see http://www.iki.fi/tml/fosdem-2006.pdf for some hints.)

--tml

_______________________________________________

gtk-list@xxxxxxxxx
http://mail.gnome.org/mailman/listinfo/gtk-list

[Index of Archives]     [Touch Screen Library]     [GIMP Users]     [Gnome]     [KDE]     [Yosemite News]     [Steve's Art]

  Powered by Linux