replaced unused map with list

This commit is contained in:
Jean-Francois Dockes 2015-06-26 13:37:06 +02:00
parent 24c05cdf6a
commit fd62105a9d

View File

@ -22,21 +22,11 @@
#include <string>
#include <queue>
#include "unordered_defs.h"
using std::queue;
using std::string;
#include <list>
#include "debuglog.h"
#include "ptmutex.h"
/// Store per-worker-thread data. Just an initialized timespec, and
/// used at the moment.
class WQTData {
public:
WQTData() {wstart.tv_sec = 0; wstart.tv_nsec = 0;}
struct timespec wstart;
};
/**
* A WorkQueue manages the synchronisation around a queue of work items,
* where a number of client threads queue tasks and a number of worker
@ -94,7 +84,7 @@ public:
m_name.c_str(), err));
return false;
}
m_worker_threads.insert(pair<pthread_t, WQTData>(thr, WQTData()));
m_worker_threads.push_back(thr);
}
return true;
}
@ -213,11 +203,11 @@ public:
// Perform the thread joins and compute overall status
// Workers return (void*)1 if ok
void *statusall = (void*)1;
STD_UNORDERED_MAP<pthread_t, WQTData>::iterator it;
std::list<pthread_t>::iterator it;
while (!m_worker_threads.empty()) {
void *status;
it = m_worker_threads.begin();
pthread_join(it->first, &status);
pthread_join(*it, &status);
if (status == (void *)0)
statusall = status;
m_worker_threads.erase(it);
@ -330,7 +320,7 @@ private:
// Per-thread data. The data is not used currently, this could be
// a set<pthread_t>
STD_UNORDERED_MAP<pthread_t, WQTData> m_worker_threads;
std::list<pthread_t> m_worker_threads;
// Synchronization
queue<T> m_queue;