diff --git a/src/xenia/kernel/objects/xsemaphore.cc b/src/xenia/kernel/objects/xsemaphore.cc index a1b81f33f..4f39b09a7 100644 --- a/src/xenia/kernel/objects/xsemaphore.cc +++ b/src/xenia/kernel/objects/xsemaphore.cc @@ -24,6 +24,8 @@ XSemaphore::~XSemaphore() { void XSemaphore::Initialize(int32_t initial_count, int32_t maximum_count) { assert_null(native_handle_); + CreateNative(sizeof(X_SEMAPHORE)); + native_handle_ = CreateSemaphore(NULL, initial_count, maximum_count, NULL); } diff --git a/src/xenia/kernel/objects/xsemaphore.h b/src/xenia/kernel/objects/xsemaphore.h index 856d4227d..289ee9de9 100644 --- a/src/xenia/kernel/objects/xsemaphore.h +++ b/src/xenia/kernel/objects/xsemaphore.h @@ -16,6 +16,10 @@ namespace xe { namespace kernel { +struct X_SEMAPHORE { + // TODO: Make this not empty! +}; + class XSemaphore : public XObject { public: XSemaphore(KernelState* kernel_state);