GNOME Bugzilla – Bug 768514
queue: ensure all threads waiting for qlock are woken on query done
Last modified: 2016-07-07 15:17:24 UTC
The test case for this is sending a drain query, that patch is a bit of a hack, but I can post it if requested. The use of _signal would cause a lockup from time to time as the right thread wasn't being unblocked.
Created attachment 330991 [details] [review] queue: ensure all threads waiting for qlock are woken on query done
Comment on attachment 330991 [details] [review] queue: ensure all threads waiting for qlock are woken on query done Seems correct but: how can you end up with two threads being blocked on that condition variable at the same time? That seems like a bug elsewhere too if I'm not missing anything.
That's a fair point, there seems to be only one place a wait can happen, and it's locked by qlock. I'll see if I can find anything else.
I can't seem to be able to reproduce the original hang now...
Let's close this then? :)
Alright, I'll reopen if I see anything again.