Fix thread lockup in zone lighter
This commit is contained in:
parent
7ed267dd7d
commit
9dce6793b2
2 changed files with 7 additions and 0 deletions
|
@ -466,6 +466,7 @@ private:
|
|||
uint _NumberOfPatchComputed;
|
||||
uint _ProcessCount;
|
||||
uint64 _CPUMask;
|
||||
NLMISC::CMutex _ProcessExitedMutex;
|
||||
volatile uint _ProcessExited;
|
||||
|
||||
// *** Bitmap sharing
|
||||
|
|
|
@ -373,7 +373,9 @@ public:
|
|||
setCPUMask (Thread, _Process);
|
||||
|
||||
_ZoneLighter->processCalc (_Process, *_Description);
|
||||
_ZoneLighter->_ProcessExitedMutex.enter();
|
||||
_ZoneLighter->_ProcessExited++;
|
||||
_ZoneLighter->_ProcessExitedMutex.leave();
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -649,7 +651,9 @@ void NL3D::CRenderZBuffer::run()
|
|||
}
|
||||
|
||||
// Exit
|
||||
_ZoneLighter->_ProcessExitedMutex.enter();
|
||||
_ZoneLighter->_ProcessExited++;
|
||||
_ZoneLighter->_ProcessExitedMutex.leave();
|
||||
}
|
||||
|
||||
// ***************************************************************************
|
||||
|
@ -676,7 +680,9 @@ public:
|
|||
void run()
|
||||
{
|
||||
_ZoneLighter->processLightableShapeCalc(_Process, _ShapesToLit, _FirstShape, _LastShape, *_Description);
|
||||
_ZoneLighter->_ProcessExitedMutex.enter();
|
||||
_ZoneLighter->_ProcessExited++;
|
||||
_ZoneLighter->_ProcessExitedMutex.leave();
|
||||
}
|
||||
private:
|
||||
CZoneLighter *_ZoneLighter;
|
||||
|
|
Loading…
Reference in a new issue