Changeset 14264 in vbox
- Timestamp:
- Nov 17, 2008 5:49:17 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Additions/common/VBoxGuest/VBoxGuest.cpp
r14223 r14264 919 919 } 920 920 921 #ifdef HGCM_TIMEOUT 921 922 # ifdef HGCM_TIMEOUT 922 923 /** 923 924 * This is a callback for dealing with async waits with a timeout. 924 925 * 925 926 * It operates in a manner similar to VBoxGuestCommonIOCtl_WaitEvent. 927 * @todo r=bird: merge VBoxGuestHGCMAsyncWaitCallbackTimeout into 928 * VBoxGuestHGCMAsyncWaitCallback, either by using a stack argument or 929 * (better) create a common worker for them 926 930 */ 927 931 static DECLCALLBACK(void) 928 VBoxGuestHGCMAsyncWaitCallbackTimeout(VMMDevHGCMRequestHeader *pHdrNonVolatile, void *pvUser, 929 uint32_t u32User) 932 VBoxGuestHGCMAsyncWaitCallbackTimeout(VMMDevHGCMRequestHeader *pHdrNonVolatile, void *pvUser, uint32_t u32User) 930 933 { 931 934 VMMDevHGCMRequestHeader volatile *pHdr = (VMMDevHGCMRequestHeader volatile *)pHdrNonVolatile; … … 991 994 RTSpinlockReleaseNoInts(pDevExt->WaitSpinlock, &Tmp); 992 995 } 993 # endif /* HGCM_TIMEOUT */996 # endif /* HGCM_TIMEOUT */ 994 997 995 998 … … 1096 1099 1097 1100 1101 /** @remarks Identical to VBoxGuestCommonIOCtl_HGCMCallTimeout. */ 1098 1102 static int VBoxGuestCommonIOCtl_HGCMCall(PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION pSession, VBoxGuestHGCMCallInfo *pInfo, 1099 1103 size_t cbData, size_t *pcbDataReturned) … … 1153 1157 1154 1158 1155 #ifdef HGCM_TIMEOUT 1159 # ifdef HGCM_TIMEOUT 1160 /** @remarks Identical to VBoxGuestCommonIOCtl_HGCMCall. */ 1156 1161 static int VBoxGuestCommonIOCtl_HGCMCallTimeout(PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION pSession, VBoxGuestHGCMCallInfoTimeout *pInfoTimeout, 1157 size_t cbData, size_t *pcbDataReturned)1162 size_t cbData, size_t *pcbDataReturned) 1158 1163 { 1159 1164 VBoxGuestHGCMCallInfo *pInfo = &pInfoTimeout->info; … … 1210 1215 return rc; 1211 1216 } 1212 # endif /* HGCM_TIMEOUT */1217 # endif /* HGCM_TIMEOUT */ 1213 1218 1214 1219 … … 1254 1259 Info.result = (uint32_t)VERR_WRONG_ORDER; 1255 1260 1256 rc = VbglHGCMConnect(&Info, VBoxGuestHGCMAsyncWaitCallback, pDevExt, 0);1261 rc = VbglHGCMConnect(&Info, VBoxGuestHGCMAsyncWaitCallback, pDevExt, 0); 1257 1262 if (RT_FAILURE(rc)) 1258 1263 { … … 1364 1369 rc = VBoxGuestCommonIOCtl_HGCMCall(pDevExt, pSession, (VBoxGuestHGCMCallInfo *)pvData, cbData, pcbDataReturned); 1365 1370 } 1366 # ifdef HGCM_TIMEOUT1371 # ifdef HGCM_TIMEOUT 1367 1372 else if (VBOXGUEST_IOCTL_STRIP_SIZE(iFunction) == VBOXGUEST_IOCTL_STRIP_SIZE(VBOXGUEST_IOCTL_HGCM_CALL_TIMEOUT(0))) 1368 1373 { 1369 CHECKRET_MIN_SIZE("HGCM_CALL ", sizeof(VBoxGuestHGCMCallInfoTimeout));1374 CHECKRET_MIN_SIZE("HGCM_CALL_TIMEOUT", sizeof(VBoxGuestHGCMCallInfoTimeout)); 1370 1375 rc = VBoxGuestCommonIOCtl_HGCMCallTimeout(pDevExt, pSession, (VBoxGuestHGCMCallInfoTimeout *)pvData, cbData, pcbDataReturned); 1371 1376 } 1372 # endif /* HGCM_TIMEOUT */1377 # endif /* HGCM_TIMEOUT */ 1373 1378 #endif /* VBOX_WITH_HGCM */ 1374 1379 else if (VBOXGUEST_IOCTL_STRIP_SIZE(iFunction) == VBOXGUEST_IOCTL_STRIP_SIZE(VBOXGUEST_IOCTL_LOG(0)))
Note:
See TracChangeset
for help on using the changeset viewer.