1#include "Game/System/OSThreadWrapper.hpp"
2#include "JSystem/JKernel/JKRHeap.hpp"
4OSThreadWrapper::OSThreadWrapper(u32 a1,
int a2,
int a3, JKRHeap *pHeap) {
6 pHeap = JKRHeap::sCurrentHeap;
9 initHeapSpecified(pHeap, a1, a3);
10 initMessageQueue(_4, a2);
13OSThreadWrapper::~OSThreadWrapper() {
15 if (!OSIsThreadTerminated(mThread)) {
16 OSDetachThread(mThread);
17 OSCancelThread(mThread);
24 delete[] mMessageArray;
27void OSThreadWrapper::initMessageQueue(JKRHeap *pHeap,
int messageCount) {
28 mMessageCount = messageCount;
29 mMessageArray =
new(pHeap, 0) OSMessage[mMessageCount];
30 OSInitMessageQueue(&mQueue, mMessageArray, mMessageCount);
44s32 OSThreadWrapper::start(
void * ) {
48s32 OSThreadWrapper::run() {