+2000-06-06 Tor Lillqvist <tml@iki.fi>
+
+ * giowin32.c (g_io_channel_win32_pipe_readable): If we are
+ watching the same fd several times (for different conditions, with
+ different callbacks), check them all. Only call the callback for
+ G_IO_IN from here. (This bug popped up when a watch for
+ G_IO_ERR|G_IO_HUP was added to gimplib.)
+
2000-05-30 Tor Lillqvist <tml@iki.fi>
* gutils.c (g_locale_get_codeset): Implement on Win32.
+2000-06-06 Tor Lillqvist <tml@iki.fi>
+
+ * giowin32.c (g_io_channel_win32_pipe_readable): If we are
+ watching the same fd several times (for different conditions, with
+ different callbacks), check them all. Only call the callback for
+ G_IO_IN from here. (This bug popped up when a watch for
+ G_IO_ERR|G_IO_HUP was added to gimplib.)
+
2000-05-30 Tor Lillqvist <tml@iki.fi>
* gutils.c (g_locale_get_codeset): Implement on Win32.
+2000-06-06 Tor Lillqvist <tml@iki.fi>
+
+ * giowin32.c (g_io_channel_win32_pipe_readable): If we are
+ watching the same fd several times (for different conditions, with
+ different callbacks), check them all. Only call the callback for
+ G_IO_IN from here. (This bug popped up when a watch for
+ G_IO_ERR|G_IO_HUP was added to gimplib.)
+
2000-05-30 Tor Lillqvist <tml@iki.fi>
* gutils.c (g_locale_get_codeset): Implement on Win32.
+2000-06-06 Tor Lillqvist <tml@iki.fi>
+
+ * giowin32.c (g_io_channel_win32_pipe_readable): If we are
+ watching the same fd several times (for different conditions, with
+ different callbacks), check them all. Only call the callback for
+ G_IO_IN from here. (This bug popped up when a watch for
+ G_IO_ERR|G_IO_HUP was added to gimplib.)
+
2000-05-30 Tor Lillqvist <tml@iki.fi>
* gutils.c (g_locale_get_codeset): Implement on Win32.
+2000-06-06 Tor Lillqvist <tml@iki.fi>
+
+ * giowin32.c (g_io_channel_win32_pipe_readable): If we are
+ watching the same fd several times (for different conditions, with
+ different callbacks), check them all. Only call the callback for
+ G_IO_IN from here. (This bug popped up when a watch for
+ G_IO_ERR|G_IO_HUP was added to gimplib.)
+
2000-05-30 Tor Lillqvist <tml@iki.fi>
* gutils.c (g_locale_get_codeset): Implement on Win32.
+2000-06-06 Tor Lillqvist <tml@iki.fi>
+
+ * giowin32.c (g_io_channel_win32_pipe_readable): If we are
+ watching the same fd several times (for different conditions, with
+ different callbacks), check them all. Only call the callback for
+ G_IO_IN from here. (This bug popped up when a watch for
+ G_IO_ERR|G_IO_HUP was added to gimplib.)
+
2000-05-30 Tor Lillqvist <tml@iki.fi>
* gutils.c (g_locale_get_codeset): Implement on Win32.
+2000-06-06 Tor Lillqvist <tml@iki.fi>
+
+ * giowin32.c (g_io_channel_win32_pipe_readable): If we are
+ watching the same fd several times (for different conditions, with
+ different callbacks), check them all. Only call the callback for
+ G_IO_IN from here. (This bug popped up when a watch for
+ G_IO_ERR|G_IO_HUP was added to gimplib.)
+
2000-05-30 Tor Lillqvist <tml@iki.fi>
* gutils.c (g_locale_get_codeset): Implement on Win32.
+2000-06-06 Tor Lillqvist <tml@iki.fi>
+
+ * giowin32.c (g_io_channel_win32_pipe_readable): If we are
+ watching the same fd several times (for different conditions, with
+ different callbacks), check them all. Only call the callback for
+ G_IO_IN from here. (This bug popped up when a watch for
+ G_IO_ERR|G_IO_HUP was added to gimplib.)
+
2000-05-30 Tor Lillqvist <tml@iki.fi>
* gutils.c (g_locale_get_codeset): Implement on Win32.
for (i = 0; i < n_watched_pipes; i++)
if (watched_pipes[i].fd == fd)
{
- if (watched_pipes[i].channel->offset < offset)
+ if ((watched_pipes[i].watch->condition & G_IO_IN)
+ && watched_pipes[i].channel->offset < offset)
(*watched_pipes[i].watch->callback) (watched_pipes[i].watch->channel,
G_IO_IN,
watched_pipes[i].user_data);
- break;
}
}
for (i = 0; i < n_watched_pipes; i++)
if (watched_pipes[i].fd == fd)
{
- if (watched_pipes[i].channel->offset < offset)
+ if ((watched_pipes[i].watch->condition & G_IO_IN)
+ && watched_pipes[i].channel->offset < offset)
(*watched_pipes[i].watch->callback) (watched_pipes[i].watch->channel,
G_IO_IN,
watched_pipes[i].user_data);
- break;
}
}