From aae9fcf4a4071a408af10ca1c72180cdc04687b8 Mon Sep 17 00:00:00 2001
From: bunnei <ericbunnie@gmail.com>
Date: Thu, 5 Jun 2014 23:13:28 -0400
Subject: [PATCH] Kernel: Made SyncRequest not pure virtual, with a default
 implementation of error (as this is not required for all kernel objects)

---
 src/core/hle/kernel/event.cpp  | 11 -----------
 src/core/hle/kernel/kernel.h   |  6 ++++--
 src/core/hle/kernel/thread.cpp | 10 ----------
 3 files changed, 4 insertions(+), 23 deletions(-)

diff --git a/src/core/hle/kernel/event.cpp b/src/core/hle/kernel/event.cpp
index 787e9f5fd0..36c7dcbc8c 100644
--- a/src/core/hle/kernel/event.cpp
+++ b/src/core/hle/kernel/event.cpp
@@ -30,17 +30,6 @@ public:
     std::vector<Handle> waiting_threads;    ///< Threads that are waiting for the event
     std::string name;                       ///< Name of event (optional)
 
-    /**
-     * Synchronize kernel object 
-     * @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 SyncRequest(bool* wait) {
-        // TODO(bunnei): ImplementMe
-        ERROR_LOG(KERNEL, "(UMIMPLEMENTED) call");
-        return 0;
-    }
-
     /**
      * Wait for kernel object to synchronize
      * @param wait Boolean wait set if current thread should wait as a result of sync operation
diff --git a/src/core/hle/kernel/kernel.h b/src/core/hle/kernel/kernel.h
index c26071276e..f1bb78801d 100644
--- a/src/core/hle/kernel/kernel.h
+++ b/src/core/hle/kernel/kernel.h
@@ -53,7 +53,10 @@ public:
      * @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 SyncRequest(bool* wait) = 0;
+    virtual Result SyncRequest(bool* wait) {
+        ERROR_LOG(KERNEL, "(UNIMPLEMENTED)");
+        return -1;
+    }
 
     /**
      * Wait for kernel object to synchronize
@@ -61,7 +64,6 @@ public:
      * @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/thread.cpp b/src/core/hle/kernel/thread.cpp
index d372df7094..180c149280 100644
--- a/src/core/hle/kernel/thread.cpp
+++ b/src/core/hle/kernel/thread.cpp
@@ -37,16 +37,6 @@ public:
     inline bool IsWaiting() const { return (status & THREADSTATUS_WAIT) != 0; }
     inline bool IsSuspended() const { return (status & THREADSTATUS_SUSPEND) != 0; }
 
-    /**
-     * Synchronize kernel object 
-     * @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 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