From 9a3a2b03b8b718409eb26252d742d48091756ef7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pedro=20J=2E=20Est=C3=A9banez?= Date: Tue, 3 Mar 2020 09:26:42 +0100 Subject: Drop old semaphore implementation - Removed platform-specific implementations. - Now all semaphores are in-object, unless they need to be conditionally created. - Similarly to `Mutex`, provided a dummy implementation for when `NO_THREADS` is defined. - Similarly to `Mutex`, methods are made `const` for easy use in such contexts. - Language bindings updated: `wait()` and `post()` are now `void`. - Language bindings updated: `try_wait()` added. Bonus: - Rewritten the `#ifdef` in `mutex.h` to meet the code style. --- core/command_queue_mt.cpp | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) (limited to 'core/command_queue_mt.cpp') diff --git a/core/command_queue_mt.cpp b/core/command_queue_mt.cpp index b88f773ed8..85e8a847a0 100644 --- a/core/command_queue_mt.cpp +++ b/core/command_queue_mt.cpp @@ -108,11 +108,10 @@ CommandQueueMT::CommandQueueMT(bool p_sync) { for (int i = 0; i < SYNC_SEMAPHORES; i++) { - sync_sems[i].sem = SemaphoreOld::create(); sync_sems[i].in_use = false; } if (p_sync) - sync = SemaphoreOld::create(); + sync = memnew(Semaphore); else sync = NULL; } @@ -121,9 +120,5 @@ CommandQueueMT::~CommandQueueMT() { if (sync) memdelete(sync); - for (int i = 0; i < SYNC_SEMAPHORES; i++) { - - memdelete(sync_sems[i].sem); - } memfree(command_mem); } -- cgit v1.2.3