Re: Re: [HACKERS] Re: WIN32 errno patch

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Bruce Momjian <pgman@candle.pha.pa.us>
Cc: Mikhail Terekhov <terekhov@emc.com>, PostgreSQL-patches <pgsql-patches@postgresql.org>
Date: 2001-08-17T15:38:09Z
Lists: pgsql-hackers
Bruce Momjian <pgman@candle.pha.pa.us> writes:
> I will try to apply it within the next 48 hours.

This isn't the right patch to apply, since Mikhail didn't fix the
strerror problem.  I have some code from Magnus Naeslund that purports
to handle the strerror issue, and will work it up into a patch real soon
now.

>> I've implemented the SOCK_ERRNO macro only because
>> both strerror and FormatMessage functions know nothing
>> about sockets errors.

FWIW, Magnus says this works:

#define SOCK_STRERROR my_sock_strerror

const char* my_sock_strerror(unsigned long eno){
    static char buf[512]; // i know, not threadsafe
    if (!FormatMessage( 
            FORMAT_MESSAGE_FROM_SYSTEM | 
            FORMAT_MESSAGE_IGNORE_INSERTS,
            0,eno,
            MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
            buf,sizeof(buf)-1,
            0
           )){
      sprintf(buf,"Unknown socket error(%u)",eno);
    }
    buf[sizeof(buf)-1]='\0';
    return buf;
}


Anyone have any objections to it?

			regards, tom lane