Mandelbrot: Clean up thread handling code.
* Style fixes * Delete semaphores in destructor Change-Id: Ia293d3f4096e2ef1305398356f3e263a8a263d78 Reviewed-on: https://review.haiku-os.org/c/866 Reviewed-by: waddlesplash <[email protected]>
This commit is contained in:
@@ -40,7 +40,7 @@ FractalEngine::FractalEngine(BHandler* parent, BLooper* looper)
|
|||||||
fDoSet = &FractalEngine::DoSet_Mandelbrot;
|
fDoSet = &FractalEngine::DoSet_Mandelbrot;
|
||||||
|
|
||||||
fRenderSem = create_sem(0, "RenderSem");
|
fRenderSem = create_sem(0, "RenderSem");
|
||||||
fRenderStoppedSem = create_sem(0,"RenderStopped");
|
fRenderStoppedSem = create_sem(0, "RenderStopped");
|
||||||
|
|
||||||
system_info info;
|
system_info info;
|
||||||
get_system_info(&info);
|
get_system_info(&info);
|
||||||
@@ -60,6 +60,8 @@ FractalEngine::FractalEngine(BHandler* parent, BLooper* looper)
|
|||||||
|
|
||||||
FractalEngine::~FractalEngine()
|
FractalEngine::~FractalEngine()
|
||||||
{
|
{
|
||||||
|
delete_sem(fRenderSem);
|
||||||
|
delete_sem(fRenderStoppedSem);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -158,6 +160,7 @@ void FractalEngine::WriteToBitmap(BBitmap* bitmap)
|
|||||||
B_RGB24);
|
B_RGB24);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void FractalEngine::StopRender()
|
void FractalEngine::StopRender()
|
||||||
{
|
{
|
||||||
if (fRenderStopped)
|
if (fRenderStopped)
|
||||||
@@ -167,7 +170,7 @@ void FractalEngine::StopRender()
|
|||||||
// the fRenderStoppedSem semaphores have already been acquired.
|
// the fRenderStoppedSem semaphores have already been acquired.
|
||||||
TRACE("Stopping render...\n");
|
TRACE("Stopping render...\n");
|
||||||
fStopRender = true;
|
fStopRender = true;
|
||||||
for (uint i = 0; i<fThreadCount; i++)
|
for (uint i = 0; i < fThreadCount; i++)
|
||||||
acquire_sem(fRenderStoppedSem);
|
acquire_sem(fRenderStoppedSem);
|
||||||
|
|
||||||
TRACE("Render stopped.\n");
|
TRACE("Render stopped.\n");
|
||||||
|
|||||||
Reference in New Issue
Block a user