forked from pool/virtualbox
29 lines
1.2 KiB
Diff
29 lines
1.2 KiB
Diff
|
Index: VirtualBox-7.0.14/src/VBox/HostDrivers/Support/SUPDrvGip.cpp
|
||
|
===================================================================
|
||
|
--- VirtualBox-7.0.14.orig/src/VBox/HostDrivers/Support/SUPDrvGip.cpp
|
||
|
+++ VirtualBox-7.0.14/src/VBox/HostDrivers/Support/SUPDrvGip.cpp
|
||
|
@@ -4537,9 +4537,11 @@ static int supdrvTscDeltaThreadWait(PSUP
|
||
|
*/
|
||
|
static void supdrvTscDeltaThreadStartMeasurement(PSUPDRVDEVEXT pDevExt, bool fForceAll)
|
||
|
{
|
||
|
+ if (!pDevExt || ! pDevExt->hTscDeltaSpinlock)
|
||
|
+ return;
|
||
|
+ RTSpinlockAcquire(pDevExt->hTscDeltaSpinlock);
|
||
|
if (pDevExt->hTscDeltaThread != NIL_RTTHREAD)
|
||
|
{
|
||
|
- RTSpinlockAcquire(pDevExt->hTscDeltaSpinlock);
|
||
|
if ( pDevExt->enmTscDeltaThreadState == kTscDeltaThreadState_Listening
|
||
|
|| pDevExt->enmTscDeltaThreadState == kTscDeltaThreadState_Measuring)
|
||
|
{
|
||
|
@@ -4550,9 +4552,9 @@ static void supdrvTscDeltaThreadStartMea
|
||
|
else if ( pDevExt->enmTscDeltaThreadState == kTscDeltaThreadState_WaitAndMeasure
|
||
|
&& fForceAll)
|
||
|
pDevExt->fTscThreadRecomputeAllDeltas = true;
|
||
|
- RTSpinlockRelease(pDevExt->hTscDeltaSpinlock);
|
||
|
RTThreadUserSignal(pDevExt->hTscDeltaThread);
|
||
|
}
|
||
|
+ RTSpinlockRelease(pDevExt->hTscDeltaSpinlock);
|
||
|
}
|
||
|
|
||
|
|