Cygwin port

This commit is contained in:
elasota
2021-03-18 17:08:11 -04:00
parent 184f867f79
commit 7060676b73
49 changed files with 1413 additions and 109 deletions

View File

@@ -0,0 +1,29 @@
#include "GpFiber_Thread.h"
#include "IGpThreadEvent.h"
GpFiber_Thread::GpFiber_Thread(void *thread, IGpThreadEvent *threadEvent)
: m_event(threadEvent)
, m_thread(thread)
{
}
GpFiber_Thread::~GpFiber_Thread()
{
m_event->Destroy();
}
void GpFiber_Thread::YieldTo(IGpFiber *toFiber)
{
static_cast<GpFiber_Thread*>(toFiber)->m_event->Signal();
m_event->Wait();
}
void GpFiber_Thread::YieldToTerminal(IGpFiber *toFiber)
{
static_cast<GpFiber_Thread*>(toFiber)->m_event->Signal();
}
void GpFiber_Thread::Destroy()
{
delete this;
}