+2008-08-20 Tor Lillqvist <tml@novell.com>
+
+ Bug 500246 - Bug fixes for giowin32
+
+ * glib/giowin32.c (read_thread) (write_thread): Change the nbytes
+ variables to signed.
+ (g_io_channel_win32_make_pollfd): Fix an obvious error in the file
+ descriptor case leftover after the patch from bug #333098 on
+ 2006-03-02. Thanks to Marcus Brinkmann.
+
2008-08-20 Tor Lillqvist <tml@novell.com>
Bug 324234 - Using g_io_add_watch_full() to wait for connect() to
{
GIOWin32Channel *channel = parameter;
guchar *buffer;
- guint nbytes;
+ gint nbytes;
g_io_channel_ref ((GIOChannel *)channel);
{
GIOWin32Channel *channel = parameter;
guchar *buffer;
- guint nbytes;
+ gint nbytes;
g_io_channel_ref ((GIOChannel *)channel);
fd->fd = (gintptr) win32_channel->data_avail_event;
- if (win32_channel->thread_id == 0 && (condition & G_IO_IN))
+ if (win32_channel->thread_id == 0)
{
+ /* Is it meaningful for a file descriptor to be polled for
+ * both IN and OUT? For what kind of file descriptor would
+ * that be? Doesn't seem to make sense, in practise the file
+ * descriptors handled here are always read or write ends of
+ * pipes surely, and thus unidirectional.
+ */
if (condition & G_IO_IN)
create_thread (win32_channel, condition, read_thread);
else if (condition & G_IO_OUT)