mirror of
https://github.com/Relintai/thread_pool.git
synced 2024-11-14 10:27:51 +01:00
Updated for the new 3.2 godot branch - Threading/Semaphore refactor - (f15f5b45781eb3de8e5811400f654e3e49580149).
This commit is contained in:
parent
72049428df
commit
da4e049da0
@ -400,18 +400,10 @@ ThreadPool::ThreadPool() {
|
|||||||
ThreadPoolContext *context = memnew(ThreadPoolContext);
|
ThreadPoolContext *context = memnew(ThreadPoolContext);
|
||||||
|
|
||||||
context->running = true;
|
context->running = true;
|
||||||
#if VERSION_MAJOR < 4
|
|
||||||
context->semaphore = Semaphore::create();
|
|
||||||
#else
|
|
||||||
context->semaphore = memnew(Semaphore);
|
context->semaphore = memnew(Semaphore);
|
||||||
#endif
|
|
||||||
|
|
||||||
#if VERSION_MAJOR < 4
|
|
||||||
context->thread = Thread::create(ThreadPool::_worker_thread_func, context);
|
|
||||||
#else
|
|
||||||
context->thread = memnew(Thread());
|
context->thread = memnew(Thread());
|
||||||
context->thread->start(ThreadPool::_worker_thread_func, context);
|
context->thread->start(ThreadPool::_worker_thread_func, context);
|
||||||
#endif
|
|
||||||
|
|
||||||
_threads.write[i] = context;
|
_threads.write[i] = context;
|
||||||
}
|
}
|
||||||
@ -431,11 +423,7 @@ ThreadPool::~ThreadPool() {
|
|||||||
for (int i = 0; i < _threads.size(); ++i) {
|
for (int i = 0; i < _threads.size(); ++i) {
|
||||||
ThreadPoolContext *context = _threads.get(i);
|
ThreadPoolContext *context = _threads.get(i);
|
||||||
|
|
||||||
#if VERSION_MAJOR < 4
|
|
||||||
Thread::wait_to_finish(context->thread);
|
|
||||||
#else
|
|
||||||
context->thread->wait_to_finish();
|
context->thread->wait_to_finish();
|
||||||
#endif
|
|
||||||
|
|
||||||
memdelete(context->thread);
|
memdelete(context->thread);
|
||||||
memdelete(context->semaphore);
|
memdelete(context->semaphore);
|
||||||
|
Loading…
Reference in New Issue
Block a user