I don't think there is a race-condition per-se as libvmi is linear in nature (there is officially no multithreading support at this point) so while we might get events placed in the ring-buffer right away, they won't issue callbacks until we do vmi_events_listen which can only happen after this function returns. I guess it's worth keeping it this way for the time when we do multithreading, so make a not of it here please!