You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-05 12:10:55 +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:
@@ -213,7 +213,7 @@ class EditorExportPlatformJavaScript : public EditorExportPlatform {
|
||||
Ref<EditorHTTPServer> server;
|
||||
bool server_quit = false;
|
||||
Mutex server_lock;
|
||||
Thread *server_thread = nullptr;
|
||||
Thread server_thread;
|
||||
|
||||
enum ExportMode {
|
||||
EXPORT_MODE_NORMAL = 0,
|
||||
@@ -681,7 +681,7 @@ void EditorExportPlatformJavaScript::_server_thread_poll(void *data) {
|
||||
|
||||
EditorExportPlatformJavaScript::EditorExportPlatformJavaScript() {
|
||||
server.instance();
|
||||
server_thread = Thread::create(_server_thread_poll, this);
|
||||
server_thread.start(_server_thread_poll, this);
|
||||
|
||||
Ref<Image> img = memnew(Image(_javascript_logo));
|
||||
logo.instance();
|
||||
@@ -702,8 +702,7 @@ EditorExportPlatformJavaScript::EditorExportPlatformJavaScript() {
|
||||
EditorExportPlatformJavaScript::~EditorExportPlatformJavaScript() {
|
||||
server->stop();
|
||||
server_quit = true;
|
||||
Thread::wait_to_finish(server_thread);
|
||||
memdelete(server_thread);
|
||||
server_thread.wait_to_finish();
|
||||
}
|
||||
|
||||
void register_javascript_exporter() {
|
||||
|
||||
Reference in New Issue
Block a user