Re: g_io_channel_win32_new_fd()



> The full source code is shown below but I could post the VC++ project as an
> attachment if that would be helpful.

Nope. A minimal sample source file in C is exactly what one typically wants.

> Just let me know if you'd prefer a console app or a (gtk) GUI app.

If the alleged problem is g_io_channel_win32_new_fd(), GTK+ has
nothing to do with it.

>           GIOChannel* pChan = g_io_channel_win32_new_fd (hPipes[READ]);
>           // The above call always returns a NULL pointer

No it does not, for me. Not when compiled with MinGW, not when
compiled with MSVC6.

You did use -MD (use msvcrt.dll) I hope? If you don't use the same C
library as GLib uses, the file descriptor passed in your
g_io_channel_win32_new_fd() call is meaningless (or refers to some
totally different open file) in GLib.

I wonder how hard it would be to have GLib check on Windows if the
caller of g_io_channel_win32_new_fd() uses the same C library as GLib
does, hmm... Shouldn't be that hard, some inline asm to get the return
address, then find out what module that is in, peek around for its
import list, check for the same C library as GLib uses, and if another
C library is found to be imported (or none at all, indicating a static
C library), print a rude error message.

--tml


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