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