Falling through to "fail" made qemu_event_init() close the pipe fds immediately again, breaking timer event notification. Signed-off-by: Jan Kiszka --- vl.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/vl.c b/vl.c index a210b6c..ac4b32f 100644 --- a/vl.c +++ b/vl.c @@ -3713,6 +3713,8 @@ static int qemu_event_init(void) (void *)(unsigned long)fds[0]); io_thread_fd = fds[1]; + return 0; + fail: close(fds[0]); close(fds[1]);