RE: [DOCS] Re: libpq sockets on win32
От | Magnus Hagander |
---|---|
Тема | RE: [DOCS] Re: libpq sockets on win32 |
Дата | |
Msg-id | 81124B76C0CF364EBAC6CD213ABEDEF701AA0D@ARGON.edu.sollentuna.se обсуждение исходный текст |
Ответы |
Re: [DOCS] Re: libpq sockets on win32
|
Список | pgsql-interfaces |
> > > 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
В списке pgsql-interfaces по дате отправления: