[Qemu-devel] eventfd_signal()
Is eventfd blocking? By that I mean: If I signal the guest for something, will that thread remain blocked till the guest clears the interrupt?
Re: [Qemu-devel] eventfd_signal()
On 08/05/2015 12:58, Catalin Vasile wrote: > Is eventfd blocking? By that I mean: If I signal the guest for > something, will that thread remain blocked till the guest clears the > interrupt? No. If you want that, write 2^64-2 to the eventfd and do a pfd.fd = ... pfd.events = POLLOUT; poll(&pfd, 1, -1); after the write. With this algorithm, a write will fail with EINVAL if there is already another pending write somewhere. The "poll" will still work after the failed write. Paolo
Re: [Qemu-devel] eventfd_signal()
On 08/05/2015 13:24, Paolo Bonzini wrote: > > > On 08/05/2015 12:58, Catalin Vasile wrote: >> Is eventfd blocking? By that I mean: If I signal the guest for >> something, will that thread remain blocked till the guest clears the >> interrupt? > > No. If you want that, write 2^64-2 to the eventfd and do a > >pfd.fd = ... >pfd.events = POLLOUT; >poll(&pfd, 1, -1); > > after the write. > > With this algorithm, a write will fail with EINVAL if there is already > another pending write somewhere. The "poll" will still work after the > failed write. Oops, EAGAIN... Paolo