After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 604568 - Multiple g_io_add_watch_full() on win32, last one wins, others silent.
Multiple g_io_add_watch_full() on win32, last one wins, others silent.
Status: RESOLVED DUPLICATE of bug 338943
Product: glib
Classification: Platform
Component: win32
Other Windows
: Normal major
: ---
Assigned To: gtk-win32 maintainers
gtk-win32 maintainers
Depends on:
Reported: 2009-12-14 18:48 UTC by Graham
Modified: 2009-12-15 15:41 UTC
See Also:
GNOME target: ---
GNOME version: ---

C++ test program makefile uses IMCROSS and PKG_CONFIG_PATH (7.19 KB, application/x-compressed-tar)
2009-12-15 11:21 UTC, Graham

Description Graham 2009-12-14 18:48:35 UTC
I want to create (3) multiple watches for G_IO_IN, G_IO_OUT, G_IO_others,
so that I can unsubscribe IN and OUT independently. (PRI|ERR|HUP|NVAL).

It appears, that only the last watch created is handled properly.
If G_IO_OUT is the last watch created, it is called when connect()
happens. Otherwise it is never called. In that case G_IO_IN's
watch is never called. 

I have a single source file that works fine on UNIX,
but fails on WIN32, and also varies with the order of watches.
g_io_channel_win32_set_debug shows a loop without anything matching.
It comes with a makefile that needs IMCROSS and PKG_CONFIG_PATH.
It gives similar results on XP-SP2 and on WINE.
Just run W on win32, M on Linux. Fingers crossed ;-)
Comment 1 Graham 2009-12-15 11:21:22 UTC
Created attachment 149754 [details]
C++ test program makefile uses IMCROSS and PKG_CONFIG_PATH

Does a web get to port 80
gtk_main never exits (press ctrl-C), but does reach end of task.
Comment 2 Tor Lillqvist 2009-12-15 12:32:49 UTC
just a single source file attached would be fine, no need for a tarball with makefiles and stuff, especially if the makefile contain odd paths and run the resulting executable under wine anyway. anybody intending to debug and fix this is fully capable of compiling a simple single source file test program. But thanks anyway, it is always good to get explicit test programs.
Comment 3 Tor Lillqvist 2009-12-15 12:47:51 UTC
Anyway, this presumably is a duplicate of bug #338943.
Comment 4 Graham 2009-12-15 14:34:12 UTC
I dont really understand either, to know that they are, or are not, the same,
but I am happy for you to fold this under that one. Suggestions on how to proceed?
Comment 5 Tor Lillqvist 2009-12-15 15:41:19 UTC
Possibly the "very early test patch" in bug #338943 could be worked on and actually taken into use? Or, at least the code should check if multiple watches are used for the same channel on Windows, and warn in that case.

Anyway, resolving as duplicate now.

*** This bug has been marked as a duplicate of bug 338943 ***