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; 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");