Changeset 48947 in vbox for trunk/src/VBox/Devices/USB
- Timestamp:
- Oct 7, 2013 9:41:00 PM (11 years ago)
- svn:sync-xref-src-repo-rev:
- 89644
- Location:
- trunk/src/VBox/Devices/USB
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/USB/DevOHCI.cpp
r45671 r48947 3596 3596 unsigned k = 0; 3597 3597 if ( !(Ed.hwinfo & ED_HWINFO_SKIP) 3598 && (TdAddr != TailP)) 3598 && (TdAddr != TailP)) 3599 3599 { 3600 3600 do -
trunk/src/VBox/Devices/USB/VUSBDevice.cpp
r46806 r48947 1104 1104 pUrb->pszDesc, pUrb->enmState, pDev, pDev->pUsbIns->pszName)); 1105 1105 vusbUrbUnlink(pUrb); 1106 /* Unlink isn't enough, because boundary timer and detaching will try to reap it. 1107 * It was tested with MSD & iphone attachment to vSMP guest, if 1106 /* Unlink isn't enough, because boundary timer and detaching will try to reap it. 1107 * It was tested with MSD & iphone attachment to vSMP guest, if 1108 1108 * it breaks anything, please add comment here, why we should unlink only. 1109 1109 */ -
trunk/src/VBox/Devices/USB/darwin/USBProxyDevice-darwin.cpp
r46046 r48947 218 218 * (i.e. the default control pipe stuff). */ 219 219 CFRunLoopSourceRef RunLoopSrcRef; 220 /** we want to add and remove RunLoopSourceRefs to run loop's of 220 /** we want to add and remove RunLoopSourceRefs to run loop's of 221 221 * every EMT thread participated in USB processing. */ 222 222 RTLISTANCHOR HeadOfRunLoopLst; … … 284 284 * Adds Source ref to current run loop and adds it the list of runloops. 285 285 */ 286 static int usbProxyDarwinAddRunLoopRef(PRTLISTANCHOR pListHead, 286 static int usbProxyDarwinAddRunLoopRef(PRTLISTANCHOR pListHead, 287 287 CFRunLoopSourceRef SourceRef) 288 288 { … … 308 308 309 309 RTListAppend((PRTLISTNODE)pListHead, &pListNode->List); 310 310 311 311 return VINF_SUCCESS; 312 312 } … … 315 315 /* 316 316 * Removes all source reference from mode of run loop's we've registered them. 317 * 318 */ 319 static int usbProxyDarwinRemoveSourceRefFromAllRunLoops(PRTLISTANCHOR pHead, 317 * 318 */ 319 static int usbProxyDarwinRemoveSourceRefFromAllRunLoops(PRTLISTANCHOR pHead, 320 320 CFRunLoopSourceRef SourceRef) 321 321 { 322 322 AssertPtrReturn(pHead, VERR_INVALID_PARAMETER); 323 324 while (!RTListIsEmpty(pHead)) 323 324 while (!RTListIsEmpty(pHead)) 325 325 { 326 326 PRUNLOOPREFLIST pNode = RTListGetFirst(pHead, RUNLOOPREFLIST, List); 327 327 /* XXX: Should Release Reference? */ 328 328 Assert(CFGetRetainCount(pNode->RunLoopRef)); 329 329 330 330 CFRunLoopRemoveSource(pNode->RunLoopRef, SourceRef, g_pRunLoopMode); 331 331 CFRelease(SourceRef); … … 335 335 336 336 RTMemFree(pNode); 337 } 337 } 338 338 339 339 return VINF_SUCCESS; … … 896 896 { 897 897 RTListInit((PRTLISTNODE)&pIf->HeadOfRunLoopLst); 898 usbProxyDarwinAddRunLoopRef(&pIf->HeadOfRunLoopLst, 898 usbProxyDarwinAddRunLoopRef(&pIf->HeadOfRunLoopLst, 899 899 pIf->RunLoopSrcRef); 900 900
Note:
See TracChangeset
for help on using the changeset viewer.