Re: g_io_channel_win32_new_fd()



Aaaaagh!!  I was kidding myself.  The Debug build doesn't work and nor does
the VC8 build.  Prior to messing around with the DLLs I'd changed this line
in my original code:-

GIOChannel* pChan = g_io_channel_win32_new_fd (hPipes[READ]);

and temporarily swapped it this, to see what would happen with stdin:-

GIOChannel* pChan = g_io_channel_win32_new_fd ( 0 );

The REAL situation is that g_io_channel_win32_new_fd() works currectly for
stdin, stdout and stderr.  I get a seemingly good pointer returned -
regardless of whether I build in Debug or Release mode and regardless of
whether I build with VC++6 or VC++8.  However, if I create a pipe (like in
my example) and pass the pipe's read handle:-

1)  If I make a Release build using VC++6, I get a valid pointer.
2)  If I make a Debug build using VC++6, I get an invalid (NULL) pointer.
3)  If I make either build using VC++8, I get an invalid (NULL) pointer.

The only thing that worries me is #2. Should I be getting a NULL pointer in this case?

John


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