On 12/01/2015 13:00, Pavel Dovgalyuk wrote: > +void replay_flush_events(void) > +{ > + qemu_mutex_lock(&lock); > + while (!QTAILQ_EMPTY(&events_list)) { > + Event *event = QTAILQ_FIRST(&events_list); > + replay_run_event(event); > + QTAILQ_REMOVE(&events_list, event, events); > + g_free(event); > + } > + qemu_mutex_unlock(&lock);
replay_run_event must run without the replay mutex, otherwise you risk ABBA deadlocks. Paolo