One can't just #undef errno on windows because it is defined as follows:
#if defined(_MT) || defined(_DLL)extern int * __cdecl _errno(void);#define errno (*_errno())#else /* ndef _MT && ndef
_DLL*/extern int errno;#endif /* _MT || _DLL */
So when building a dll or a multithreaded application it is not a plain
variable but call to the _errno() and after #undef errno one will lose
errno completely. For the same reason it is impossible to use something
like 'errno=0;'.
Mikhail Terekhov
Tom Lane wrote:
>
> Bruce Momjian <pgman@candle.pha.pa.us> writes:
> > Any idea where we are on this?
>
> I'm planning to #undef errno around the three routines that need to get
> at plain errno. Not done yet though...
>
> regards, tom lane
>
> ---------------------------(end of broadcast)---------------------------
> TIP 2: you can get off all lists at once with the unregister command
> (send "unregister YourEmailAddressHere" to majordomo@postgresql.org)