Changeset 1373 for trunk/src/wsock32/async.cpp
- Timestamp:
- Oct 20, 1999, 12:11:00 PM (26 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/wsock32/async.cpp
r1372 r1373 1 /* $Id: async.cpp,v 1. 2 1999-10-20 10:03:52phaller Exp $ */1 /* $Id: async.cpp,v 1.3 1999-10-20 10:09:49 phaller Exp $ */ 2 2 3 3 /* … … 129 129 130 130 void pushRequest (PASYNCREQUEST pRequest); // put request on queue 131 BOOL deleteRequest (PASYNCREQUEST pRequest); // remove particular request131 BOOL cancelAsyncRequest (PASYNCREQUEST pRequest); 132 132 133 133 // the thread procedure … … 148 148 int dispatchRequest(PASYNCREQUEST pRequest); // complete request 149 149 PASYNCREQUEST popRequest (void); // get one request from queue 150 BOOL deleteRequest (PASYNCREQUEST pRequest); // remove particular request 150 151 151 152 void lockQueue (void); // enter mutex … … 487 488 *****************************************************************************/ 488 489 490 BOOL WSAAsyncWorker::cancelAsyncRequest(PASYNCREQUEST pRequest) 491 { 492 PASYNCREQUEST pRequestTemp; 493 BOOL rc = TRUE; 494 495 lockQueue(); 496 497 // verify pRequest 498 // find request (optional, just for verification) 499 for (pRequestTemp = pRequestHead; 500 pRequestTemp != NULL; 501 pRequestTemp = pRequestTemp->pNext) 502 if (pRequestTemp == pRequest) 503 break; 504 505 // is request in queue ? 506 if (pRequestTemp == pRequest) 507 { 508 // is it busy? 509 if (pRequest->ulState != RS_BUSY) 510 { 511 // if not: set RS_CANCELLED 512 pRequest->ulState = RS_CANCELLED; 513 } 514 else 515 { 516 // if busy: ??? 517 dprintf(("WSOCK32:Async: WSAAsyncWorker::cancelAsyncRequest(%08xh, %08xh) how to cancel?\n", 518 this, 519 pRequest)); 520 rc = FALSE; 521 } 522 } 523 else 524 rc = FALSE; 525 526 unlockQueue(); 527 return rc; 528 } 529 530 531 /***************************************************************************** 532 * Name : 533 * Purpose : 534 * Parameters: 535 * Variables : 536 * Result : 537 * Remark : 538 * Status : UNTESTED STUB 539 * 540 * Author : Patrick Haller [Tue, 1998/06/16 23:00] 541 *****************************************************************************/ 542 489 543 PASYNCREQUEST WSAAsyncWorker::createRequest (ULONG ulType, 490 544 HWND hwnd, … … 1167 1221 1168 1222 // remove request from queue 1169 rc = wsaWorker-> deleteRequest(pRequest);1223 rc = wsaWorker->cancelAsyncRequest(pRequest); 1170 1224 if (rc == TRUE) 1171 1225 return 0; // success
Note:
See TracChangeset
for help on using the changeset viewer.