#include "include/mammoth/thread.h" #include namespace { extern "C" void thread_entry(Thread::Entry entry, void* arg1) { entry(arg1); ZThreadExit(); } } // namespace Thread::Thread(Entry e, const void* arg1) { ZThreadCreate(Z_INIT_PROC_SELF, &thread_cap_); ZThreadStart(thread_cap_, reinterpret_cast(thread_entry), reinterpret_cast(e), reinterpret_cast(arg1)); }