On Thu, May 24, 2012 at 11:01:19AM +0200, Michal Privoznik wrote: > Since we are calling APIs within timers, those might block as > any libvirt API may block. This, however, might get so critical, > that server will shut us down due to timeout on keepalive. > Simply, if an API called within a timer block, entire event loop > is blocked and no keepalive response can be sent. > > Therefore, delegate separate thread for such purpose. NACK, this is completely wrong. The keepalive code is what is broken here. If a thread is sitting in virNetClientIOEventLoop() waiting for an RPC reply, then this method should be handling the keepalives to prevent death of the connection. Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :| -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list