status of IO Channels on Windows?
- From: Tor Lillqvist <tml iki fi>
- To: Rick Jones <rick jones2 hp com>
- Cc: gtk-list gnome org
- Subject: status of IO Channels on Windows?
- Date: Thu, 9 Mar 2006 03:32:30 +0200
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
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]