Changeset 55058 in vbox for trunk/src/VBox/HostDrivers/VBoxUSB/win/cmn
- Timestamp:
- Mar 31, 2015 10:29:00 PM (10 years ago)
- svn:sync-xref-src-repo-rev:
- 99347
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified trunk/src/VBox/HostDrivers/VBoxUSB/win/cmn/VBoxDrvTool.cpp ¶
r38356 r55058 188 188 Interval.QuadPart = -(int64_t) 2 /* ms */ * 10000; 189 189 uint32_t cRefs; 190 191 while ((cRefs = ASMAtomicReadU32(&pRef->cRefs)) != u32Val) 190 size_t loops = 0; 191 KTIMER kTimer; 192 NTSTATUS status = STATUS_SUCCESS; 193 194 KeInitializeTimer(&kTimer); 195 196 while ((cRefs = ASMAtomicReadU32(&pRef->cRefs)) > u32Val && loops < 256) 192 197 { 193 198 Assert(cRefs >= u32Val); 194 199 Assert(cRefs < UINT32_MAX/2); 195 200 196 KeDelayExecutionThread(KernelMode, FALSE, &Interval); 201 KeSetTimer(&kTimer, Interval, NULL); 202 status = KeWaitForSingleObject(&kTimer, Executive, KernelMode, false, NULL); 203 Assert(NT_SUCCESS(status)); 204 loops++; 197 205 } 198 206 }
Note:
See TracChangeset
for help on using the changeset viewer.