2018-05-22 17:23:39 +02:00
|
|
|
/*
|
2025-04-09 14:39:29 +00:00
|
|
|
* Copyright (C) 2020-2025 Intel Corporation
|
2018-09-18 09:11:08 +02:00
|
|
|
*
|
|
|
|
|
* SPDX-License-Identifier: MIT
|
|
|
|
|
*
|
|
|
|
|
*/
|
2018-05-22 17:23:39 +02:00
|
|
|
|
2020-02-23 22:44:01 +01:00
|
|
|
#include "shared/source/os_interface/windows/os_thread_win.h"
|
2019-03-26 11:59:46 +01:00
|
|
|
namespace NEO {
|
2018-05-22 17:23:39 +02:00
|
|
|
ThreadWin::ThreadWin(std::thread *thread) {
|
|
|
|
|
this->thread.reset(thread);
|
|
|
|
|
};
|
|
|
|
|
|
2024-08-21 14:19:13 +00:00
|
|
|
decltype(&Thread::create) Thread::createFunc = Thread::create;
|
|
|
|
|
|
2018-05-22 17:23:39 +02:00
|
|
|
std::unique_ptr<Thread> Thread::create(void *(*func)(void *), void *arg) {
|
|
|
|
|
return std::unique_ptr<Thread>(new ThreadWin(new std::thread(func, arg)));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void ThreadWin::join() {
|
|
|
|
|
thread->join();
|
|
|
|
|
}
|
2021-04-20 12:20:21 +00:00
|
|
|
|
2025-04-16 19:33:13 +00:00
|
|
|
void ThreadWin::detach() {
|
|
|
|
|
thread->detach();
|
|
|
|
|
}
|
|
|
|
|
|
2021-04-20 12:20:21 +00:00
|
|
|
void ThreadWin::yield() {
|
|
|
|
|
std::this_thread::yield();
|
|
|
|
|
}
|
2025-04-16 19:33:13 +00:00
|
|
|
|
2019-03-26 11:59:46 +01:00
|
|
|
} // namespace NEO
|