[Avida-cvs] [avida-svn] r709 - development/source/analyze
kaben@myxo.css.msu.edu
kaben at myxo.css.msu.edu
Sat May 27 00:05:19 PDT 2006
Author: kaben
Date: 2006-05-27 03:05:19 -0400 (Sat, 27 May 2006)
New Revision: 709
Modified:
development/source/analyze/cAnalyzeJobQueue.cc
Log:
Altered cAnalyzeJobQueue::Execute() to prevent warning-treated-as-error
under debug-mode builds with gcc: the problem was declaration of the
variable 'workers' as a variable-length array. Changed 'workers' from
type cAnalyzeJobWorker*[] to type tArray<cAnalyzeJobWorker*>.
Modified: development/source/analyze/cAnalyzeJobQueue.cc
===================================================================
--- development/source/analyze/cAnalyzeJobQueue.cc 2006-05-26 19:52:57 UTC (rev 708)
+++ development/source/analyze/cAnalyzeJobQueue.cc 2006-05-27 07:05:19 UTC (rev 709)
@@ -12,6 +12,9 @@
#include "cAnalyzeJobWorker.h"
#include "cWorld.h"
#include "cWorldDriver.h"
+#include "tArray.h"
+
+
#include "defs.h"
#include <iostream>
@@ -37,15 +40,18 @@
void cAnalyzeJobQueue::Execute()
{
const int num_workers = m_world->GetConfig().MT_CONCURRENCY.Get();
- cAnalyzeJobWorker* workers[num_workers];
-
+ tArray<cAnalyzeJobWorker*> workers(num_workers);
+
if (m_world->GetConfig().VERBOSITY.Get() >= VERBOSE_DETAILS)
m_world->GetDriver().NotifyComment("Going Multithreaded...");
-
+
for (int i = 0; i < num_workers; i++) {
workers[i] = new cAnalyzeJobWorker(this);
workers[i]->Start();
}
- for (int i = 0; i < num_workers; i++) workers[i]->Join();
+ for (int i = 0; i < num_workers; i++) {
+ workers[i]->Join();
+ delete workers[i];
+ }
}
More information about the Avida-cvs
mailing list