You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-18 14:21:41 +00:00
Modernize atomics
- Based on C++11's `atomic` - Reworked `SafeRefCount` (based on the rewrite by @hpvb) - Replaced free atomic functions by the new `SafeNumeric<T>` - Replaced wrong cases of `volatile bool` by the new `SafeFlag` - Platform-specific implementations no longer needed Co-authored-by: Hein-Pieter van Braam-Stewart <hp@tmm.cx>
This commit is contained in:
@@ -5565,7 +5565,8 @@ static void _execute_thread(void *p_ud) {
|
||||
eta->exitcode = err;
|
||||
}
|
||||
|
||||
eta->done = true;
|
||||
eta->done.set();
|
||||
;
|
||||
}
|
||||
|
||||
int EditorNode::execute_and_show_output(const String &p_title, const String &p_path, const List<String> &p_arguments, bool p_close_on_ok, bool p_close_on_errors) {
|
||||
@@ -5579,13 +5580,12 @@ int EditorNode::execute_and_show_output(const String &p_title, const String &p_p
|
||||
eta.path = p_path;
|
||||
eta.args = p_arguments;
|
||||
eta.exitcode = 255;
|
||||
eta.done = false;
|
||||
|
||||
int prev_len = 0;
|
||||
|
||||
eta.execute_output_thread.start(_execute_thread, &eta);
|
||||
|
||||
while (!eta.done) {
|
||||
while (!eta.done.is_set()) {
|
||||
{
|
||||
MutexLock lock(eta.execute_output_mutex);
|
||||
if (prev_len != eta.output.length()) {
|
||||
|
||||
Reference in New Issue
Block a user