Mail Archives: cygwin/2003/03/19/20:46:57
On Wed, Mar 19, 2003 at 03:33:24PM -0500, Sean Tang wrote:
>In the folowing code :
>If I include <stdio.h> before <windows.h> and <winsock2.h>, select() always
>generate 10022 error.
>If I include <stdio.h> after <windows.h> and <winsock2.h>, select() works
>OK.
It sounds like you're mixing cygwin's select with winsock select.
"You can't do that".
Get rid of all the winsock and windows stuff and just treat this like a
standard unix program.
cgf
TCM
>#include <stdio.h>
>
>#include <windows.h>
>#define USE_SYS_TYPES_FD_SET
>#include <winsock2.h>
>
>int main(int argc, char *argv[]) {
>
>WORD wVersionRequested;
>WSADATA wsaData;
>int err;
>
>wVersionRequested = MAKEWORD( 2, 2 );
>
>err = WSAStartup( wVersionRequested, &wsaData );
>if ( err != 0 ) {
> printf("we could not find a usable WinSock DLL\n");
> return -1;
>}
>
>if ( LOBYTE( wsaData.wVersion ) != 2 || HIBYTE( wsaData.wVersion ) != 2 ) {
> printf("we could not find a usable WinSock DLL\n");
> WSACleanup( );
> return -1;
>}
>
> fd_set fds;
>
> int s= socket(AF_INET, SOCK_STREAM, 0);
>
> FD_ZERO(&fds);
> FD_SET((unsigned)s, &fds);
>
> if( select(s+1, &fds, NULL, NULL, 0) == -1 ) {
> printf("socket error : %d\n", WSAGetLastError());
> return -1;
> }
>
>return 0;
>}
>
>
>--
>Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
>Bug reporting: http://cygwin.com/bugs.html
>Documentation: http://cygwin.com/docs.html
>FAQ: http://cygwin.com/faq/
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
- Raw text -