13
0

skip dead threads (if the event remains, it'll be cleaned up below)

This commit is contained in:
Robin Gareus 2016-12-14 17:48:44 +01:00
parent 036390f4c2
commit 518c31eeb7

View File

@ -237,14 +237,12 @@ AbstractUI<RequestObject>::handle_ui_requests ()
} }
rbml.acquire (); rbml.acquire ();
if (vec.buf[0]->invalidation) { if (vec.buf[0]->invalidation && !(*i).second->dead) {
DEBUG_TRACE (PBD::DEBUG::AbstractUI, string_compose ("%1: removing invalidation record for that request\n", event_loop_name())); DEBUG_TRACE (PBD::DEBUG::AbstractUI, string_compose ("%1: removing invalidation record for that request\n", event_loop_name()));
if (vec.buf[0]->invalidation->event_loop && vec.buf[0]->invalidation->event_loop != this) { if (vec.buf[0]->invalidation->event_loop && vec.buf[0]->invalidation->event_loop != this) {
vec.buf[0]->invalidation->event_loop->slot_invalidation_mutex().lock (); vec.buf[0]->invalidation->event_loop->slot_invalidation_mutex().lock ();
} }
//if (!(*i).second->dead) { vec.buf[0]->invalidation->requests.remove (vec.buf[0]);
vec.buf[0]->invalidation->requests.remove (vec.buf[0]);
//}
if (vec.buf[0]->invalidation->event_loop && vec.buf[0]->invalidation->event_loop != this) { if (vec.buf[0]->invalidation->event_loop && vec.buf[0]->invalidation->event_loop != this) {
vec.buf[0]->invalidation->event_loop->slot_invalidation_mutex().unlock (); vec.buf[0]->invalidation->event_loop->slot_invalidation_mutex().unlock ();
} }