- Timestamp:
- Feb 6, 2002, 11:33:56 AM (24 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/wsock32/wsock32.cpp
r7461 r7805 1 /* $Id: wsock32.cpp,v 1.4 5 2001-11-27 11:13:03sandervl Exp $ */1 /* $Id: wsock32.cpp,v 1.46 2002-02-06 10:33:56 sandervl Exp $ */ 2 2 3 3 /* … … 657 657 if(ret == SOCKET_ERROR) { 658 658 WSASetLastError(wsaErrno()); 659 return SOCKET_ERROR; 659 660 } 660 661 else … … 663 664 664 665 state = ioctl(s, FIOBSTATUS, (char *)&tmp, sizeof(tmp)); 666 if(state & SS_CANTRCVMORE) { 667 dprintf(("recv returned 0, socket is no longer connected -> return WSAENOTCONN")); 668 WSASetLastError(WSANO_DATA); 669 return 0; //graceful close 670 } 671 else 672 if(state & (SS_ISDISCONNECTING|SS_ISDISCONNECTED)) { 673 dprintf(("recv returned 0, socket is no longer connected -> return WSAENOTCONN")); 674 WSASetLastError(WSAENOTCONN); 675 return 0; //graceful close 676 } 677 else 665 678 if(state & SS_ISCONNECTED && flags != MSG_PEEK) { 666 679 dprintf(("recv returned 0, but socket is still connected -> return WSAWOULDBLOCK")); 667 680 WSASetLastError(WSAEWOULDBLOCK); 668 ret = 0; //graceful close681 return SOCKET_ERROR; 669 682 } 670 683 } … … 974 987 } 975 988 yy = (struct ws_linger *)optval; 989 dprintf(("%s: onoff %x linger %x", (optname == SO_DONTLINGER) ? "SO_DONTLINGER" : "SO_LINGER", (int)yy->l_onoff, (int)yy->l_linger)); 976 990 xx.l_onoff = (optname == SO_DONTLINGER) ? !yy->l_onoff : yy->l_onoff; 977 991 xx.l_linger = yy->l_linger;
Note:
See TracChangeset
for help on using the changeset viewer.