summaryrefslogtreecommitdiffstats
path: root/src/server/ThreadManager.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/ThreadManager.hpp')
-rw-r--r--src/server/ThreadManager.hpp29
1 files changed, 13 insertions, 16 deletions
diff --git a/src/server/ThreadManager.hpp b/src/server/ThreadManager.hpp
index 17f2c6ff..2e0ad966 100644
--- a/src/server/ThreadManager.hpp
+++ b/src/server/ThreadManager.hpp
@@ -17,14 +17,11 @@
#ifndef INGEN_ENGINE_THREADMANAGER_HPP
#define INGEN_ENGINE_THREADMANAGER_HPP
-#include "util.hpp"
-
-#include "ingen/ingen.h"
+#include "server.h"
#include <cassert>
-namespace ingen {
-namespace server {
+namespace ingen::server {
enum ThreadFlag {
THREAD_IS_REAL_TIME = 1,
@@ -33,36 +30,36 @@ enum ThreadFlag {
THREAD_MESSAGE = 1 << 3,
};
-class INGEN_API ThreadManager {
+class INGEN_SERVER_API ThreadManager
+{
public:
- static inline void set_flag(ThreadFlag f) {
+ static void set_flag(ThreadFlag f) {
#ifndef NDEBUG
- flags = ((unsigned)flags | f);
+ flags |= static_cast<unsigned>(f);
#endif
}
- static inline void unset_flag(ThreadFlag f) {
+ static void unset_flag(ThreadFlag f) {
#ifndef NDEBUG
- flags = ((unsigned)flags & (~f));
+ flags &= ~static_cast<unsigned>(f);
#endif
}
- static inline void assert_thread(ThreadFlag f) {
+ static void assert_thread(ThreadFlag f) {
assert(single_threaded || (flags & f));
}
- static inline void assert_not_thread(ThreadFlag f) {
+ static void assert_not_thread(ThreadFlag f) {
assert(single_threaded || !(flags & f));
}
/** Set to true during initialisation so ensure_thread doesn't fail.
* Defined in Engine.cpp
*/
- static bool single_threaded;
- static INGEN_THREAD_LOCAL unsigned flags;
+ static bool single_threaded;
+ static thread_local unsigned flags;
};
-} // namespace server
-} // namespace ingen
+} // namespace ingen::server
#endif // INGEN_ENGINE_THREADMANAGER_HPP