On Thu, Aug 23, 2018 at 01:54:46AM +0300, Roman Bolshakov wrote: > On Wed, Aug 22, 2018 at 10:41:18AM +0100, Daniel P. Berrangé wrote: > > I don't think we should go through the dispatch code when > > we get EBADF, as the contents of the 'revents' fields are > > undefined after we get an error. > > > > We should jump straight to the end where we have > > "eventLoop.running = 0;" > > > > If any FDs were in fact ready, we'll get them on the next iteration of > > the loop anyway. > > > > Alright, but the thread won't hold evenLoop.lock after such jump and > virMutexUnlock may fail with ENOPERM. I suppose that could confuse > valgrind & friends. > What if we change eventLoop.running to 0 under the eventLoop.lock right in > the macOS EBADF handler and then return? Nah, just call virMutexLock before doing the jump. Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :| -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list