summaryrefslogtreecommitdiff
path: root/src/core/hle/kernel/event.cpp
diff options
context:
space:
mode:
authorGravatar Yuri Kunde Schlesner2014-12-29 10:55:30 -0200
committerGravatar Yuri Kunde Schlesner2015-01-09 19:43:52 -0200
commit8ad41775ccae67e54e9f03cbe054d7562b1c66ce (patch)
tree79d176bd9805cae0a2cfdd12e4c91c108bec0c8d /src/core/hle/kernel/event.cpp
parentKernel: Don't re-assign object's handle when duplicating one (diff)
downloadyuzu-8ad41775ccae67e54e9f03cbe054d7562b1c66ce.tar.gz
yuzu-8ad41775ccae67e54e9f03cbe054d7562b1c66ce.tar.xz
yuzu-8ad41775ccae67e54e9f03cbe054d7562b1c66ce.zip
Kernel: Start using boost::intrusive_ptr for lifetime management
Diffstat (limited to 'src/core/hle/kernel/event.cpp')
-rw-r--r--src/core/hle/kernel/event.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/core/hle/kernel/event.cpp b/src/core/hle/kernel/event.cpp
index 697e08681..271190dbe 100644
--- a/src/core/hle/kernel/event.cpp
+++ b/src/core/hle/kernel/event.cpp
@@ -53,7 +53,7 @@ public:
53 * @return Result of operation, 0 on success, otherwise error code 53 * @return Result of operation, 0 on success, otherwise error code
54 */ 54 */
55ResultCode SetPermanentLock(Handle handle, const bool permanent_locked) { 55ResultCode SetPermanentLock(Handle handle, const bool permanent_locked) {
56 Event* evt = g_handle_table.Get<Event>(handle); 56 Event* evt = g_handle_table.Get<Event>(handle).get();
57 if (evt == nullptr) return InvalidHandle(ErrorModule::Kernel); 57 if (evt == nullptr) return InvalidHandle(ErrorModule::Kernel);
58 58
59 evt->permanent_locked = permanent_locked; 59 evt->permanent_locked = permanent_locked;
@@ -67,7 +67,7 @@ ResultCode SetPermanentLock(Handle handle, const bool permanent_locked) {
67 * @return Result of operation, 0 on success, otherwise error code 67 * @return Result of operation, 0 on success, otherwise error code
68 */ 68 */
69ResultCode SetEventLocked(const Handle handle, const bool locked) { 69ResultCode SetEventLocked(const Handle handle, const bool locked) {
70 Event* evt = g_handle_table.Get<Event>(handle); 70 Event* evt = g_handle_table.Get<Event>(handle).get();
71 if (evt == nullptr) return InvalidHandle(ErrorModule::Kernel); 71 if (evt == nullptr) return InvalidHandle(ErrorModule::Kernel);
72 72
73 if (!evt->permanent_locked) { 73 if (!evt->permanent_locked) {
@@ -82,13 +82,13 @@ ResultCode SetEventLocked(const Handle handle, const bool locked) {
82 * @return Result of operation, 0 on success, otherwise error code 82 * @return Result of operation, 0 on success, otherwise error code
83 */ 83 */
84ResultCode SignalEvent(const Handle handle) { 84ResultCode SignalEvent(const Handle handle) {
85 Event* evt = g_handle_table.Get<Event>(handle); 85 Event* evt = g_handle_table.Get<Event>(handle).get();
86 if (evt == nullptr) return InvalidHandle(ErrorModule::Kernel); 86 if (evt == nullptr) return InvalidHandle(ErrorModule::Kernel);
87 87
88 // Resume threads waiting for event to signal 88 // Resume threads waiting for event to signal
89 bool event_caught = false; 89 bool event_caught = false;
90 for (size_t i = 0; i < evt->waiting_threads.size(); ++i) { 90 for (size_t i = 0; i < evt->waiting_threads.size(); ++i) {
91 Thread* thread = Kernel::g_handle_table.Get<Thread>(evt->waiting_threads[i]); 91 Thread* thread = Kernel::g_handle_table.Get<Thread>(evt->waiting_threads[i]).get();
92 if (thread != nullptr) 92 if (thread != nullptr)
93 thread->ResumeFromWait(); 93 thread->ResumeFromWait();
94 94
@@ -112,7 +112,7 @@ ResultCode SignalEvent(const Handle handle) {
112 * @return Result of operation, 0 on success, otherwise error code 112 * @return Result of operation, 0 on success, otherwise error code
113 */ 113 */
114ResultCode ClearEvent(Handle handle) { 114ResultCode ClearEvent(Handle handle) {
115 Event* evt = g_handle_table.Get<Event>(handle); 115 Event* evt = g_handle_table.Get<Event>(handle).get();
116 if (evt == nullptr) return InvalidHandle(ErrorModule::Kernel); 116 if (evt == nullptr) return InvalidHandle(ErrorModule::Kernel);
117 117
118 if (!evt->permanent_locked) { 118 if (!evt->permanent_locked) {