Fixed an uninitialized value that made the MapUpdater worker threads exit on launch

This commit is contained in:
Subv
2014-07-02 18:38:22 -05:00
parent bdc42f663e
commit 15352a9302
2 changed files with 4 additions and 2 deletions

View File

@@ -45,7 +45,7 @@ class MapUpdateRequest
}
};
MapUpdater::MapUpdater(): pending_requests(0) { }
MapUpdater::MapUpdater() : pending_requests(0), _cancelationToken(false) {}
MapUpdater::~MapUpdater()
{
@@ -62,6 +62,8 @@ void MapUpdater::activate(size_t num_threads)
void MapUpdater::deactivate()
{
_cancelationToken = true;
wait();
_queue.Cancel();

View File

@@ -51,7 +51,7 @@ class MapUpdater
ProducerConsumerQueue <MapUpdateRequest*> _queue;
std::vector<std::thread> _workerThreads;
std::atomic_bool _cancelationToken;
std::atomic<bool> _cancelationToken;
std::mutex _lock;
std::condition_variable _condition;