Changeset 89194 in vbox
- Timestamp:
- May 20, 2021 9:28:17 AM (4 years ago)
- svn:sync-xref-src-repo-rev:
- 144535
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/Bus/DevIommuIntel.cpp
r89068 r89194 263 263 /** The event semaphore the invalidation-queue thread waits on. */ 264 264 SUPSEMEVENT hEvtInvQueue; 265 /** Whether the invalidation-queue thread has been signaled. */266 bool volatile fInvQueueThreadSignaled;267 265 /** Padding. */ 268 bool afPadding0[3];266 uint32_t uPadding0; 269 267 /** Error diagnostic. */ 270 268 DMARDIAG enmDiag; … … 1058 1056 1059 1057 if ( dmarInvQueueCanProcessRequests(pThis) 1060 && !dmarInvQueueIsEmpty(pThis) 1061 && !ASMAtomicXchgBool(&pThis->fInvQueueThreadSignaled, true)) 1062 { 1063 Log4Func(("Signaling the invalidation-queue thread\n")); 1058 && !dmarInvQueueIsEmpty(pThis)) 1059 { 1060 Log4Func(("Signaling the invalidation-queue thread!!\n")); 1064 1061 PDMDevHlpSUPSemEventSignal(pDevIns, pThis->hEvtInvQueue); 1065 1062 } … … 2271 2268 * Sleep until we are woken up. 2272 2269 */ 2273 bool const fSignaled = ASMAtomicXchgBool(&pThis->fInvQueueThreadSignaled, false);2274 if (!fSignaled)2275 2270 { 2276 2271 int const rc = PDMDevHlpSUPSemEventWaitNoResume(pDevIns, pThis->hEvtInvQueue, RT_INDEFINITE_WAIT); … … 2278 2273 if (RT_UNLIKELY(pThread->enmState != PDMTHREADSTATE_RUNNING)) 2279 2274 break; 2280 ASMAtomicWriteBool(&pThis->fInvQueueThreadSignaled, false);2281 2275 } 2282 2276
Note:
See TracChangeset
for help on using the changeset viewer.