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:
kerwizzy
2019-01-10 05:27:42 +00:00
committed by waddlesplash
parent f84c53e4ac
commit cc15132ccc
+5 -2
View File
@@ -40,7 +40,7 @@ FractalEngine::FractalEngine(BHandler* parent, BLooper* looper)
fDoSet = &FractalEngine::DoSet_Mandelbrot;
fRenderSem = create_sem(0, "RenderSem");
fRenderStoppedSem = create_sem(0,"RenderStopped");
fRenderStoppedSem = create_sem(0, "RenderStopped");
system_info info;
get_system_info(&info);
@@ -60,6 +60,8 @@ FractalEngine::FractalEngine(BHandler* parent, BLooper* looper)
FractalEngine::~FractalEngine()
{
delete_sem(fRenderSem);
delete_sem(fRenderStoppedSem);
}
@@ -158,6 +160,7 @@ void FractalEngine::WriteToBitmap(BBitmap* bitmap)
B_RGB24);
}
void FractalEngine::StopRender()
{
if (fRenderStopped)
@@ -167,7 +170,7 @@ void FractalEngine::StopRender()
// the fRenderStoppedSem semaphores have already been acquired.
TRACE("Stopping render...\n");
fStopRender = true;
for (uint i = 0; i<fThreadCount; i++)
for (uint i = 0; i < fThreadCount; i++)
acquire_sem(fRenderStoppedSem);
TRACE("Render stopped.\n");