diff --git a/BeefLibs/corlib/src/Threading/Thread.bf b/BeefLibs/corlib/src/Threading/Thread.bf index 05ae5dcb..4fb76c2e 100644 --- a/BeefLibs/corlib/src/Threading/Thread.bf +++ b/BeefLibs/corlib/src/Threading/Thread.bf @@ -217,17 +217,8 @@ namespace System.Threading } } - public void Suspend() { SuspendInternal(); } - [CallingConvention(.Cdecl)] - private extern void SuspendInternal(); - - public void Resume() { ResumeInternal(); } - [CallingConvention(.Cdecl)] - private extern void ResumeInternal(); - - public void Interrupt() { InterruptInternal(); } - [CallingConvention(.Cdecl)] - private extern void InterruptInternal(); + public extern void Suspend(); + public extern void Resume(); public ThreadPriority Priority { diff --git a/BeefRT/rt/Thread.cpp b/BeefRT/rt/Thread.cpp index 23c36536..0e79e8a3 100644 --- a/BeefRT/rt/Thread.cpp +++ b/BeefRT/rt/Thread.cpp @@ -29,21 +29,16 @@ bf::System::Threading::Thread* BfGetCurrentThread() #endif } -void Thread::SuspendInternal() +void Thread::Suspend() { BfpThread_Suspend(GetInternalThread()->mThreadHandle, NULL); } -void Thread::ResumeInternal() +void Thread::Resume() { BfpThread_Resume(GetInternalThread()->mThreadHandle, NULL); } -void Thread::InterruptInternal() -{ - //TODO: -} - void Thread::SetJoinOnDelete(bool joinOnDelete) { auto internalThread = GetInternalThread(); diff --git a/BeefRT/rt/Thread.h b/BeefRT/rt/Thread.h index d71a2f74..17bfec7e 100644 --- a/BeefRT/rt/Thread.h +++ b/BeefRT/rt/Thread.h @@ -39,10 +39,7 @@ namespace bf private: BfInternalThread* SetupInternalThread(); - BFRT_EXPORT void ManualThreadInit(); - BFRT_EXPORT void SuspendInternal(); - BFRT_EXPORT void ResumeInternal(); - BFRT_EXPORT void InterruptInternal(); + BFRT_EXPORT void ManualThreadInit(); BFRT_EXPORT int GetPriorityNative(); BFRT_EXPORT void SetPriorityNative(int priority); BFRT_EXPORT void SetJoinOnDelete(bool joinOnDelete); @@ -67,6 +64,10 @@ namespace bf BFRT_EXPORT void Dbg_CreateInternal(); public: + BFRT_EXPORT void Suspend(); + BFRT_EXPORT void Resume(); + BFRT_EXPORT void Abort(); + BFRT_EXPORT static void MemoryBarrier(); static Thread* Alloc()