[RFA] enable dynamic (thread safe) reents

Thomas Pfaff tpfaff@gmx.net
Mon Jun 16 06:37:00 GMT 2003


Christopher Faylor wrote:
> On Fri, Jun 13, 2003 at 08:20:47AM +0200, Thomas Pfaff wrote:
> 
>>Unfortunately stdin, stdout and stderr were defined with _REENT 
>>directly. Sigh.
> 
> 
> I've checked in this patch.  I'll ask again if it makes sense
> to fix this problem in newlib.  Does it?
> 

It is a little late for cygwin, but i would suggest to change stdin, out 
and err to

#define stdin (*__stdin())
extern  __FILE **__stdin _PARAMS ((void));

and implement as

__FILE **
__stdin ()
{
   return &_REENT->_stdin;
}

Same for stdout and err. This would allow to define and undefine 
__DYNAMIC_REENT__ without recompiling all user apps. And _getreent must 
not be exported.
I think that this is cleaner.

Thomas




More information about the Cygwin-patches mailing list