From a432dc8f39a866b7b523235d6d94531f93bb4aa1 Mon Sep 17 00:00:00 2001
From: bunnei <ericbunnie@gmail.com>
Date: Mon, 26 May 2014 22:17:49 -0400
Subject: [PATCH] kernel: added WaitSynchronization method to Kernel::Object

---
 src/core/hle/kernel/kernel.h   |  7 +++++++
 src/core/hle/kernel/mutex.cpp  | 11 +++++++++++
 src/core/hle/kernel/thread.cpp | 11 +++++++++++
 src/core/hle/service/service.h | 10 ++++++++++
 4 files changed, 39 insertions(+)

diff --git a/src/core/hle/kernel/kernel.h b/src/core/hle/kernel/kernel.h
index 4acc9f220f..620cd2d737 100644
--- a/src/core/hle/kernel/kernel.h
+++ b/src/core/hle/kernel/kernel.h
@@ -55,6 +55,13 @@ public:
      */
     virtual Result SyncRequest(bool* wait) = 0;
 
+    /**
+     * Wait for kernel object to synchronize
+     * @param wait Boolean wait set if current thread should wait as a result of sync operation
+     * @return Result of operation, 0 on success, otherwise error code
+     */
+    virtual Result WaitSynchronization(bool* wait) = 0;
+
 };
 
 class ObjectPool : NonCopyable {
diff --git a/src/core/hle/kernel/mutex.cpp b/src/core/hle/kernel/mutex.cpp
index 5465b7a3cc..17fd40acd5 100644
--- a/src/core/hle/kernel/mutex.cpp
+++ b/src/core/hle/kernel/mutex.cpp
@@ -30,6 +30,17 @@ public:
      * @return Result of operation, 0 on success, otherwise error code
      */
     Result SyncRequest(bool* wait) {
+        // TODO(bunnei): ImplementMe
+        return 0;
+    }
+
+    /**
+     * Wait for kernel object to synchronize
+     * @param wait Boolean wait set if current thread should wait as a result of sync operation
+     * @return Result of operation, 0 on success, otherwise error code
+     */
+    Result WaitSynchronization(bool* wait) {
+        // TODO(bunnei): ImplementMe
         return 0;
     }
 };
diff --git a/src/core/hle/kernel/thread.cpp b/src/core/hle/kernel/thread.cpp
index 56c7755cfd..6e8b53eb1d 100644
--- a/src/core/hle/kernel/thread.cpp
+++ b/src/core/hle/kernel/thread.cpp
@@ -42,6 +42,17 @@ public:
      * @return Result of operation, 0 on success, otherwise error code
      */
     Result SyncRequest(bool* wait) {
+        // TODO(bunnei): ImplementMe
+        return 0;
+    }
+
+    /**
+     * Wait for kernel object to synchronize
+     * @param wait Boolean wait set if current thread should wait as a result of sync operation
+     * @return Result of operation, 0 on success, otherwise error code
+     */
+    Result WaitSynchronization(bool* wait) {
+        // TODO(bunnei): ImplementMe
         return 0;
     }
 
diff --git a/src/core/hle/service/service.h b/src/core/hle/service/service.h
index 12ef51b91f..4671d4528a 100644
--- a/src/core/hle/service/service.h
+++ b/src/core/hle/service/service.h
@@ -100,6 +100,16 @@ public:
         return 0; // TODO: Implement return from actual function
     }
 
+    /**
+     * Wait for kernel object to synchronize
+     * @param wait Boolean wait set if current thread should wait as a result of sync operation
+     * @return Result of operation, 0 on success, otherwise error code
+     */
+    Result WaitSynchronization(bool* wait) {
+        // TODO(bunnei): ImplementMe
+        return 0;
+    }
+
 protected:
 
     /**