g_cond_wait(glk_data->event_queue_not_empty, glk_data->event_lock);
event_t *retrieved_event = g_queue_pop_tail(glk_data->event_queue);
g_cond_wait(glk_data->event_queue_not_empty, glk_data->event_lock);
event_t *retrieved_event = g_queue_pop_tail(glk_data->event_queue);