Changeset 7631 for trunk/src/kernel32/overlappedio.cpp
- Timestamp:
- Dec 14, 2001, 1:45:49 PM (24 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/kernel32/overlappedio.cpp
r7605 r7631 1 /* $Id: overlappedio.cpp,v 1.1 2 2001-12-10 14:04:24sandervl Exp $ */1 /* $Id: overlappedio.cpp,v 1.13 2001-12-14 12:44:57 sandervl Exp $ */ 2 2 3 3 /* … … 16 16 #include <handlemanager.h> 17 17 #include <heapstring.h> 18 #include "overlappedio.h"18 #include <overlappedio.h> 19 19 #include "oslibdos.h" 20 20 … … 239 239 else lpRequest->dwLastError = lpWriteHandler(lpRequest, &dwResult, NULL); 240 240 241 lpOverlapped->Internal = lpRequest->dwLastError; 242 lpOverlapped->InternalHigh = dwResult; 243 if(lpRequest->lpdwResult) { 244 *lpRequest->lpdwResult = dwResult; 241 if(!lpRequest->fCancelled) 242 { 243 lpOverlapped->Internal = lpRequest->dwLastError; 244 lpOverlapped->InternalHigh = dwResult; 245 if(lpRequest->lpdwResult) { 246 *lpRequest->lpdwResult = dwResult; 247 } 248 #ifdef DEBUG 249 if(lpRequest->dwAsyncType == ASYNCIO_READ) { 250 dprintf(("ASYNCIO_READ %x finished; result %x, last error %d", lpOverlapped, dwResult, lpRequest->dwLastError)); 251 } 252 else dprintf(("ASYNCIO_WRITE %x finished; result %x, last error %d", lpOverlapped, dwResult, lpRequest->dwLastError)); 253 #endif 254 //wake up user thread 255 ::SetEvent(lpOverlapped->hEvent); 245 256 } 246 #ifdef DEBUG247 if(lpRequest->dwAsyncType == ASYNCIO_READ) {248 dprintf(("ASYNCIO_READ %x finished; result %x, last error %d", lpOverlapped, dwResult, lpRequest->dwLastError));249 }250 else dprintf(("ASYNCIO_WRITE %x finished; result %x, last error %d", lpOverlapped, dwResult, lpRequest->dwLastError));251 #endif252 //wake up user thread253 ::SetEvent(lpOverlapped->hEvent);254 257 break; 255 258 … … 279 282 } 280 283 //Don't access the overlapped & result memory when CancelIo was used to cancel the operation 281 if(ret == WAIT_TIMEOUT )284 if(ret == WAIT_TIMEOUT && !lpRequest->fCancelled) 282 285 { 283 286 dprintf(("ASYNCIO_POLL %x: result %x, last error %d", lpOverlapped, dwResult, lpRequest->dwLastError));
Note:
See TracChangeset
for help on using the changeset viewer.