You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-04 12:00:25 +00:00
Modernize Thread
- Based on C++11's `thread` and `thread_local` - No more need to allocate-deallocate or check for null - No pointer anymore, just a member variable - Platform-specific implementations no longer needed (except for the few cases of non-portable functions) - Simpler for `NO_THREADS` - Thread ids are now the same across platforms (main is 1; others follow)
This commit is contained in:
@@ -3682,10 +3682,8 @@ VisualServerScene *VisualServerScene::singleton = NULL;
|
||||
|
||||
VisualServerScene::VisualServerScene() {
|
||||
|
||||
#ifndef NO_THREADS
|
||||
probe_bake_thread = Thread::create(_gi_probe_bake_threads, this);
|
||||
probe_bake_thread.start(_gi_probe_bake_threads, this);
|
||||
probe_bake_thread_exit = false;
|
||||
#endif
|
||||
|
||||
render_pass = 1;
|
||||
singleton = this;
|
||||
@@ -3694,10 +3692,7 @@ VisualServerScene::VisualServerScene() {
|
||||
|
||||
VisualServerScene::~VisualServerScene() {
|
||||
|
||||
#ifndef NO_THREADS
|
||||
probe_bake_thread_exit = true;
|
||||
probe_bake_sem.post();
|
||||
Thread::wait_to_finish(probe_bake_thread);
|
||||
memdelete(probe_bake_thread);
|
||||
#endif
|
||||
probe_bake_thread.wait_to_finish();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user