From 1f7a04f05a488b7d457d356f9bf2dda296cd6b92 Mon Sep 17 00:00:00 2001 From: bunnei Date: Wed, 14 Jan 2015 23:41:33 -0500 Subject: Thread: Keep track of multiple wait objects. --- src/core/hle/kernel/address_arbiter.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src/core/hle/kernel/address_arbiter.cpp') diff --git a/src/core/hle/kernel/address_arbiter.cpp b/src/core/hle/kernel/address_arbiter.cpp index b7434aaf..ff147206 100644 --- a/src/core/hle/kernel/address_arbiter.cpp +++ b/src/core/hle/kernel/address_arbiter.cpp @@ -15,7 +15,7 @@ namespace Kernel { -class AddressArbiter : public Object { +class AddressArbiter : public WaitObject { public: std::string GetTypeName() const override { return "Arbiter"; } std::string GetName() const override { return name; } @@ -30,7 +30,8 @@ public: /// Arbitrate an address ResultCode ArbitrateAddress(Handle handle, ArbitrationType type, u32 address, s32 value, u64 nanoseconds) { - Object* object = Kernel::g_handle_table.GetGeneric(handle).get(); + WaitObject* object = static_cast(Kernel::g_handle_table.GetGeneric(handle).get()); + if (object == nullptr) return InvalidHandle(ErrorModule::Kernel); -- cgit v1.2.3