Re: [PATCH][libvirt-glib] Don't misuse GMainLoop for libvirt event loop

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, May 24, 2012 at 10:41:13 +0100, Daniel P. Berrange wrote:
> 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.

Actually, now that you mentioned it, I looked at the code and it should be
quite easy to avoid using timer for sending keepalive responses (requests will
still use them, of course). I even remember it was one of the ways I
considered doing it but ended up with the timer :-)

Jirka

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list


[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]