13
0

release locks before deleting record

This commit is contained in:
Robin Gareus 2016-12-14 02:25:13 +01:00
parent 112fba182f
commit dd525d1613

View File

@ -86,17 +86,20 @@ EventLoop::invalidate_request (void* data)
* inherit (indirectly) from sigc::trackable.
*/
if (ir->event_loop) {
Glib::Threads::Mutex::Lock lm (ir->event_loop->slot_invalidation_mutex());
Glib::Threads::Mutex::Lock lr (ir->event_loop->request_invalidation_mutex());
for (list<BaseRequestObject*>::iterator i = ir->requests.begin(); i != ir->requests.end(); ++i) {
(*i)->valid = false;
(*i)->invalidation = 0;
if (ir->event_loop) {
{
Glib::Threads::Mutex::Lock lm (ir->event_loop->slot_invalidation_mutex());
Glib::Threads::Mutex::Lock lr (ir->event_loop->request_invalidation_mutex());
for (list<BaseRequestObject*>::iterator i = ir->requests.begin(); i != ir->requests.end(); ++i) {
(*i)->valid = false;
(*i)->invalidation = 0;
}
}
// should this not always be deleted, regardless if there's an event_loop?
delete ir;
}
}
return 0;
return 0;
}
vector<EventLoop::ThreadBufferMapping>