third_party/virtualbox/src/VBox/Devices/USB/VUSBUrb.cpp
/**
 * Async version of vusbUrbCancel() - doesn't wait for the cancelling to be complete.
 */
Async version of vusbUrbCancel() - doesn't wait for the cancelling to be complete.
Async version of vusbUrbCancel () - doesn ' t wait for the cancelling to be complete .
void vusbUrbCancelAsync(PVUSBURB pUrb, CANCELMODE mode)
{
    if (!ASMAtomicXchgBool(&pUrb->fCompleting, true))
    {
        int rc = vusbDevIoThreadExec(pUrb->pVUsb->pDev, 0 , (PFNRT)vusbUrbCancelWorker, 2, pUrb, mode);
        AssertRC(rc);
    }
}
void vusbUrbCancelAsync ( PVUSBURB pUrb , CANCELMODE mode ) { if ( ! ASMAtomicXchgBool ( & pUrb -> fCompleting , true ) ) { int rc = vusbDevIoThreadExec ( pUrb -> pVUsb -> pDev , 0 , ( PFNRT ) vusbUrbCancelWorker , 2 , pUrb , mode ) ; AssertRC ( rc ) ; } }
Async version of vusbUrbCancel() - doesn't wait for the cancelling to be complete.
Async version of vusbUrbCancel () - doesn ' t wait for the cancelling to be complete .
/* Don't try to cancel the URB when completion is in progress at the moment. */ /* fFlags */