Обсуждение: RE: [DOCS] Re: libpq sockets on win32
> > > I have done exactly that. I assume fcntl(), ioctl(), > > > select() use errno > > > even if used on a socket, while getsockopt(), setsockopt(), > > socket(), > > > connect(), getsockname(), send(), recv() use WSAGetLastError. Is > > this > > > list correct? > > > > I don't know enough about such things. > > The web page wasn't clear about that. No, that list is not correct. 1) select() can *only* be used on a socket in Windows, and it puts its error info in WSAGetLastError(). 2) ioctl() should *not* be used on sockets. Instead, ioctlsocket() shuold be used. ioctlsocket() puts its error info in WSAGetLastError(). (http://msdn.microsoft.com/library/psdk/winsock/ovrvw3_98mq.htm). (loads fine in my Netscape, doesn't look all that good, but definitly readable) 3) fcntl() should *not* be used on sockets. ioctlsocket() again. Generaelly, all functions dealing with sockets use WSAGetLastError(). And sockets and file descriptors are *not* necessarily interchangable on Win32. Note - this is Win32, *not* cygwin. Cygwin maps to errno, AFAIK. //Magnus
> > > I don't know enough about such things. > > > > The web page wasn't clear about that. > No, that list is not correct. > > 1) select() can *only* be used on a socket in Windows, and it puts its > error info in WSAGetLastError(). > > 2) ioctl() should *not* be used on sockets. Instead, ioctlsocket() > shuold be used. ioctlsocket() puts its error info in WSAGetLastError(). > (http://msdn.microsoft.com/library/psdk/winsock/ovrvw3_98mq.htm). (loads > fine in my Netscape, doesn't look all that good, but definitly readable) > > 3) fcntl() should *not* be used on sockets. ioctlsocket() again. > > Generaelly, all functions dealing with sockets use WSAGetLastError(). > And sockets and file descriptors are *not* necessarily interchangable on > Win32. > > > Note - this is Win32, *not* cygwin. Cygwin maps to errno, AFAIK. OK, I have heard enough to know that I don't want to try this patch without a WIN32 development environment, which I don't have. Seems like we have some major libpq work to do for WIN32. If someone wants to code something, we will consider applying it. Sorry. -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 853-3000+ If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill, Pennsylvania19026