Merge pull request #29304 from qarmin/fix_unlocking_mutex

Properly unlock mutex
This commit is contained in:
Rémi Verschelde 2019-05-30 12:01:20 +02:00 committed by GitHub
commit 9d6294c78a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 8 additions and 3 deletions

View file

@ -406,8 +406,10 @@ class CommandQueueMT {
tryagain:
// tried to read an empty queue
if (read_ptr == write_ptr)
if (read_ptr == write_ptr) {
if (p_lock) unlock();
return false;
}
uint32_t size_ptr = read_ptr;
uint32_t size = *(uint32_t *)&command_mem[read_ptr] >> 1;

View file

@ -118,7 +118,10 @@ void FileAccessNetworkClient::_thread_func() {
FileAccessNetwork *fa = NULL;
if (response != FileAccessNetwork::RESPONSE_DATA) {
ERR_FAIL_COND(!accesses.has(id));
if (!accesses.has(id)) {
unlock_mutex();
ERR_FAIL_COND(!accesses.has(id));
}
}
if (accesses.has(id))

View file

@ -68,8 +68,8 @@ void remove_print_handler(PrintHandlerList *p_handler) {
}
//OS::get_singleton()->print("print handler list is %p\n",print_handler_list);
ERR_FAIL_COND(l == NULL);
_global_unlock();
ERR_FAIL_COND(l == NULL);
}
void print_line(String p_string) {