summaryrefslogtreecommitdiffstats
path: root/raul
diff options
context:
space:
mode:
Diffstat (limited to 'raul')
-rw-r--r--raul/Thread.hpp15
1 files changed, 8 insertions, 7 deletions
diff --git a/raul/Thread.hpp b/raul/Thread.hpp
index 4d5cef3..a9300b1 100644
--- a/raul/Thread.hpp
+++ b/raul/Thread.hpp
@@ -18,6 +18,7 @@
#ifndef RAUL_THREAD_HPP
#define RAUL_THREAD_HPP
+#include <set>
#include <string>
#include <iostream>
#include <pthread.h>
@@ -59,8 +60,8 @@ public:
const std::string& name() const { return _name; }
void set_name(const std::string& name) { _name = name; }
- unsigned context() const { return _context; }
- void set_context(unsigned context) { _context = context; }
+ bool is_context(unsigned context) const { return _contexts.find(context) != _contexts.end(); }
+ void set_context(unsigned context) { _contexts.insert(context); }
protected:
Thread(const std::string& name="");
@@ -92,11 +93,11 @@ private:
/* Once-only initialisation of the key */
static pthread_once_t _thread_key_once;
- unsigned _context;
- std::string _name;
- bool _pthread_exists;
- bool _own_thread;
- pthread_t _pthread;
+ std::set<unsigned> _contexts;
+ std::string _name;
+ bool _pthread_exists;
+ bool _own_thread;
+ pthread_t _pthread;
};