msvcrt: handle inheritance problem

qingdoa daoo qingdao33122 at yahoo.com
Fri Apr 7 23:49:36 CDT 2006


HI all,
 
 Recently I have been trying to improve support for some MinGW based IDEs without native msvcrt. Now I am dealing with a problem with standard io handle redirection which prevents output from gcc tools from being piped to IDE message  windows.
 
 I have been able to find that the problem is related to this patch on dlls/msvcrt/file.c
 
http://cvs.winehq.org/cvsweb/wine/dlls/msvcrt/file.c.diff?r1=1.59&r2=1.60&f=h

It has a one line changlog saying:
Duplicate stdin/stdout handles to avoid closing them when library is
unloaded.

If I revert file.c to pre-patch state, redirection works fine. But
am not sure if there will be unexpected consequences. So I searched
the wine-patch and wine-devel archives but didn't find the patch or
 any discussion about it.

Could someone explain what exactly that changelog line means?

A simple test program
------------------------------------------------------------------------
#include "stdio.h"
#include "process.h"

int main(int argc, char* argv[])
{
    if( argc == 1 )
    {
        char *argv2[] = { argv[0], "foo", NULL };
        _spawnv(_P_NOWAIT, argv[0], argv2);
    }
    else
    {
        puts("This won't print with builtin msvcrt");
    }
    return 0;
}


 
 
		
---------------------------------
Love cheap thrills? Enjoy PC-to-Phone  calls to 30+ countries for just 2¢/min with Yahoo! Messenger with Voice.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.winehq.org/pipermail/wine-devel/attachments/20060407/14aad7c7/attachment.htm


More information about the wine-devel mailing list