1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
|
/*
* Copyright (C) 2020-2025 Intel Corporation
*
* SPDX-License-Identifier: MIT
*
*/
#include "shared/source/os_interface/windows/os_thread_win.h"
#include "shared/source/os_interface/windows/sys_calls.h"
namespace NEO {
ThreadWin::ThreadWin(std::thread *thread) {
this->thread.reset(thread);
};
decltype(&Thread::create) Thread::createFunc = Thread::create;
std::unique_ptr<Thread> Thread::create(void *(*func)(void *), void *arg) {
if (SysCalls::isShutdownInProgress()) {
return {};
}
return std::unique_ptr<Thread>(new ThreadWin(new std::thread(func, arg)));
}
void ThreadWin::join() {
thread->join();
}
void ThreadWin::detach() {
thread->detach();
}
void ThreadWin::yield() {
std::this_thread::yield();
}
} // namespace NEO
|