|
@@ -15,8 +15,6 @@ namespace Common {
|
|
|
|
|
|
|
|
class Event {
|
|
class Event {
|
|
|
public:
|
|
public:
|
|
|
- Event() : is_set(false) {}
|
|
|
|
|
-
|
|
|
|
|
void Set() {
|
|
void Set() {
|
|
|
std::lock_guard<std::mutex> lk(mutex);
|
|
std::lock_guard<std::mutex> lk(mutex);
|
|
|
if (!is_set) {
|
|
if (!is_set) {
|
|
@@ -48,14 +46,14 @@ public:
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
private:
|
|
private:
|
|
|
- bool is_set;
|
|
|
|
|
|
|
+ bool is_set = false;
|
|
|
std::condition_variable condvar;
|
|
std::condition_variable condvar;
|
|
|
std::mutex mutex;
|
|
std::mutex mutex;
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
class Barrier {
|
|
class Barrier {
|
|
|
public:
|
|
public:
|
|
|
- explicit Barrier(std::size_t count_) : count(count_), waiting(0), generation(0) {}
|
|
|
|
|
|
|
+ explicit Barrier(std::size_t count_) : count(count_) {}
|
|
|
|
|
|
|
|
/// Blocks until all "count" threads have called Sync()
|
|
/// Blocks until all "count" threads have called Sync()
|
|
|
void Sync() {
|
|
void Sync() {
|
|
@@ -76,8 +74,8 @@ private:
|
|
|
std::condition_variable condvar;
|
|
std::condition_variable condvar;
|
|
|
std::mutex mutex;
|
|
std::mutex mutex;
|
|
|
const std::size_t count;
|
|
const std::size_t count;
|
|
|
- std::size_t waiting;
|
|
|
|
|
- std::size_t generation; // Incremented once each time the barrier is used
|
|
|
|
|
|
|
+ std::size_t waiting = 0;
|
|
|
|
|
+ std::size_t generation = 0; // Incremented once each time the barrier is used
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
void SetThreadAffinity(std::thread::native_handle_type thread, u32 mask);
|
|
void SetThreadAffinity(std::thread::native_handle_type thread, u32 mask);
|