
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 :|