Changeset 60551 in vbox for trunk/src/VBox/Main
- Timestamp:
- Apr 18, 2016 5:37:22 PM (9 years ago)
- svn:sync-xref-src-repo-rev:
- 106680
- Location:
- trunk/src/VBox/Main/src-server
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Main/src-server/USBProxyService.cpp
r60107 r60551 155 155 ++it) 156 156 { 157 USBProxyBackend *pUsbProxyBackend = *it;157 ComObjPtr<USBProxyBackend> pUsbProxyBackend = *it; 158 158 void *pvId = pUsbProxyBackend->insertFilter(aFilter); 159 159 … … 172 172 ++it) 173 173 { 174 USBProxyBackend *pUsbProxyBackend = it->first;174 ComObjPtr<USBProxyBackend> pUsbProxyBackend = it->first; 175 175 pUsbProxyBackend->removeFilter(it->second); 176 176 } … … 236 236 { 237 237 mBackends.erase(it); 238 UsbProxyBackend->uninit(); 238 239 /* 240 * The proxy backend uninit method will be called when the pointer goes 241 * out of scope. 242 */ 239 243 240 244 alock.release(); -
trunk/src/VBox/Main/src-server/generic/USBProxyBackendUsbIp.cpp
r60107 r60551 380 380 rc = RTPipeClose(m->hWakeupPipeW); 381 381 AssertRC(rc); 382 383 m->hPollSet = NIL_RTPOLLSET; 384 m->hWakeupPipeR = NIL_RTPIPE; 385 m->hWakeupPipeW = NIL_RTPIPE; 382 386 } 383 387 … … 385 389 RTStrFree(m->pszHost); 386 390 if (m->hMtxDevices != NIL_RTSEMFASTMUTEX) 391 { 387 392 RTSemFastMutexDestroy(m->hMtxDevices); 393 m->hMtxDevices = NIL_RTSEMFASTMUTEX; 394 } 388 395 389 396 delete m; … … 455 462 456 463 /* Query a new device list upon entering. */ 457 if (m->enmRecvState == kUsbIpRecvState_None) 464 if ( RT_SUCCESS(rc) 465 && m->enmRecvState == kUsbIpRecvState_None) 458 466 { 459 467 rc = startListExportedDevicesReq(); … … 695 703 m->hSocket = NIL_RTSOCKET; 696 704 } 705 else 706 LogRel(("USB/IP: Connected to host \"%s\"\n", m->pszHost)); 697 707 } 698 708 … … 907 917 pNew->enmState = USBDEVICESTATE_USED_BY_HOST_CAPTURABLE; 908 918 pNew->u64SerialHash = 0; 909 pNew->bBus = (uint8_t)pDev->u32BusNum; 910 pNew->bPort = (uint8_t)pDev->u32DevNum; 919 /** @todo: The following is not correct but is required to to get USB testing working 920 * because only the port can be part of a filter (adding the required attributes for the bus 921 * breaks API and ABI compatibility). 922 * Filtering by port number is required for USB testing to connect to the correct device 923 * in case there are multiple ones. 924 */ 925 pNew->bBus = (uint8_t)pDev->u32DevNum; 926 pNew->bPort = (uint8_t)pDev->u32BusNum; 911 927 912 928 switch (pDev->u32Speed)
Note:
See TracChangeset
for help on using the changeset viewer.