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