1
0
Fork 0

common/thread: Initialize class member variables where applicable

Simplifies the constructor interfaces for Barrier and Event classes.
This commit is contained in:
Lioncash 2018-11-21 21:44:58 -05:00 committed by fearlessTobi
parent 9cbcc70c9b
commit 4f0ec03c97
1 changed files with 4 additions and 6 deletions

View File

@ -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) {
@ -57,14 +55,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() {
@ -85,8 +83,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 waiting = 0;
std::size_t generation; // Incremented once each time the barrier is used 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);