Switching to xe::mutex.

This commit is contained in:
Ben Vanik
2015-05-24 23:16:43 -07:00
parent 814ec82ad4
commit f5a2b85d42
31 changed files with 133 additions and 108 deletions

View File

@@ -42,7 +42,7 @@ void XNotifyListener::EnqueueNotification(XNotificationID id, uint32_t data) {
return;
}
std::lock_guard<std::mutex> lock(lock_);
std::lock_guard<xe::mutex> lock(lock_);
if (notifications_.count(id)) {
// Already exists. Overwrite.
notifications_[id] = data;
@@ -56,7 +56,7 @@ void XNotifyListener::EnqueueNotification(XNotificationID id, uint32_t data) {
bool XNotifyListener::DequeueNotification(XNotificationID* out_id,
uint32_t* out_data) {
std::lock_guard<std::mutex> lock(lock_);
std::lock_guard<xe::mutex> lock(lock_);
bool dequeued = false;
if (notification_count_) {
dequeued = true;
@@ -74,7 +74,7 @@ bool XNotifyListener::DequeueNotification(XNotificationID* out_id,
bool XNotifyListener::DequeueNotification(XNotificationID id,
uint32_t* out_data) {
std::lock_guard<std::mutex> lock(lock_);
std::lock_guard<xe::mutex> lock(lock_);
bool dequeued = false;
if (notification_count_) {
dequeued = true;

View File

@@ -13,6 +13,7 @@
#include <mutex>
#include <unordered_map>
#include "xenia/base/mutex.h"
#include "xenia/kernel/xobject.h"
#include "xenia/xbox.h"
@@ -36,7 +37,7 @@ class XNotifyListener : public XObject {
private:
HANDLE wait_handle_;
std::mutex lock_;
xe::mutex lock_;
std::unordered_map<XNotificationID, uint32_t> notifications_;
size_t notification_count_;
uint64_t mask_;

View File

@@ -13,6 +13,7 @@
#include "xenia/base/logging.h"
#include "xenia/base/math.h"
#include "xenia/base/mutex.h"
#include "xenia/base/threading.h"
#include "xenia/cpu/cpu.h"
#include "xenia/kernel/kernel_state.h"
@@ -33,7 +34,7 @@ using namespace xe::cpu;
uint32_t next_xthread_id = 0;
thread_local XThread* current_thread_tls;
std::mutex critical_region_;
xe::mutex critical_region_;
XThread* shared_kernel_thread_ = 0;
XThread::XThread(KernelState* kernel_state, uint32_t stack_size,

View File

@@ -97,7 +97,7 @@ class XThread : public XObject {
std::string name_;
std::atomic<uint32_t> irql_;
std::mutex apc_lock_;
xe::mutex apc_lock_;
NativeList* apc_list_;
object_ref<XEvent> event_;