Changeset 7992 for trunk/src/wsock32/asyncapi.cpp
- Timestamp:
- Feb 23, 2002, 5:39:10 PM (24 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/wsock32/asyncapi.cpp
r7977 r7992 1 /* $Id: asyncapi.cpp,v 1. 19 2002-02-20 15:07:13sandervl Exp $ */1 /* $Id: asyncapi.cpp,v 1.20 2002-02-23 16:39:09 sandervl Exp $ */ 2 2 3 3 /* … … 531 531 ret = select((int *)sockets, nr(noread), nr(nowrite), nr(noexcept), -1); 532 532 pThreadParm->fWaitSelect = FALSE; 533 533 534 if(ret == SOCKET_ERROR) { 534 535 int selecterr = sock_errno(); … … 542 543 //// state = ioctl(s, FIOBSTATUS, (char *)&tmp, sizeof(tmp)); 543 544 //// dprintf(("SOCEINTR; state = %x", state)); 544 goto asyncloopstart; //so_cancel was called545 goto asyncloopstart; //so_cancel/closesocket was called 545 546 546 547 case SOCECONNRESET: … … 574 575 state = ioctl(s, FIOBSTATUS, (char *)&tmp, sizeof(tmp)); 575 576 576 if(lEventsPending & FD_CONNECT) { 577 //Don't send FD_CONNECT is socket was already connected (accept returns connected socket) 578 if(!pThreadParm->fConnected && (lEventsPending & FD_CONNECT)) 579 { 577 580 if(state & SS_ISCONNECTED) { 578 581 AsyncSelectNotifyEvent(pThreadParm, FD_CONNECT, NO_ERROR); 582 pThreadParm->fConnected = TRUE; 579 583 } 580 584 else { … … 594 598 } 595 599 } 596 597 600 if(ready(noread)) 598 601 { 599 602 state = ioctl(s, FIONREAD, (CHAR *) &bytesread, sizeof(bytesread)); 603 dprintf2(("state %x, bytesread %d", state, bytesread)); 600 604 if(state == SOCKET_ERROR) 601 605 { … … 769 773 return SOCKET_ERROR; 770 774 } 775 776 int size, state, tmp; 777 state = ioctl(s, FIOBSTATUS, (char *)&tmp, sizeof(tmp)); 778 dprintf(("QueueAsyncJob: state %x", state)); 779 780 //Don't send FD_CONNECT is socket was already connected (accept returns connected socket) 781 if(state & SS_ISCONNECTED) { 782 pThreadParm->fConnected = TRUE; 783 } 784 else pThreadParm->fConnected = FALSE; 785 771 786 if(QueueAsyncJob(WSAsyncSelectThreadProc, pThreadParm) == 0) { 772 787 delete pThreadParm->u.asyncselect.asyncSem;
Note:
See TracChangeset
for help on using the changeset viewer.