docs: event impl. registration before hypervisor connection

Event implementations need to be registered before a connection to the
Hypervisor is opened, otherwise event handling can be impaired (e.g.
delayed messages). This fact is referenced in an e-mail [1], but should
also be noted in the documentation of the registration functions.

[1] https://www.redhat.com/archives/libvirt-users/2014-April/msg00011.html

(cherry picked from commit 9bf1cef737)
This commit is contained in:
Dominik Perpeet 2015-09-25 10:54:21 +02:00 committed by Cole Robinson
parent 404e42d3c6
commit 4ee196bf30

View File

@ -204,6 +204,9 @@ virEventRemoveTimeout(int timer)
* to integrate with the libglib2 event loop, or libevent
* or the QT event loop.
*
* For proper event handling, it is important that the event implementation
* is registered before a connection to the Hypervisor is opened.
*
* Use of the virEventAddHandle() and similar APIs require that the
* corresponding handler is registered. Use of the
* virConnectDomainEventRegisterAny() and similar APIs requires that
@ -247,6 +250,9 @@ void virEventRegisterImpl(virEventAddHandleFunc addHandle,
* not have a need to integrate with an external event
* loop impl.
*
* For proper event handling, it is important that the event implementation
* is registered before a connection to the Hypervisor is opened.
*
* Once registered, the application has to invoke virEventRunDefaultImpl() in
* a loop to process events. Failure to do so may result in connections being
* closed unexpectedly as a result of keepalive timeout. The default