On Mon, 07/20 07:27, Paolo Bonzini wrote: > diff --git a/aio-win32.c b/aio-win32.c > index ea655b0..7afc999 100644 > --- a/aio-win32.c > +++ b/aio-win32.c > @@ -337,10 +337,11 @@ bool aio_poll(AioContext *ctx, bool blocking) > aio_context_acquire(ctx); > } > > - if (first && aio_bh_poll(ctx)) { > - progress = true; > + if (first) { > + event_notifier_test_and_clear(&ctx->notifier);
I'm looking at optimizing it but I don't fully understand the relationship between aio_prepare and WaitForMultipleObjects. Do they get the same set of events? What if a new event comes in between, for example, thread worker calls aio_notify()? Fam > + progress |= aio_bh_poll(ctx); > + first = false; > } > - first = false; > > /* if we have any signaled events, dispatch event */ > event = NULL;