aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJiri Denemark <jdenemar@redhat.com>2012-06-12 09:01:49 +0200
committerJiri Denemark <jdenemar@redhat.com>2012-06-13 15:50:55 +0200
commitbb85f2298e63b55b0465cb9e1f790019e99611dd (patch)
tree2c8755a0c1cbba4146d1dc3408e7a7322f046a44 /src/rpc/virkeepalive.h
parentclient rpc: Separate call creation from running IO loop (diff)
downloadlibvirt-bb85f2298e63b55b0465cb9e1f790019e99611dd.tar.gz
libvirt-bb85f2298e63b55b0465cb9e1f790019e99611dd.tar.bz2
libvirt-bb85f2298e63b55b0465cb9e1f790019e99611dd.zip
rpc: Do not use timer for sending keepalive responses
When a libvirt API is called from the main event loop (which seems to be common in event-based glib apps), the client IO loop would properly handle keepalive requests sent by a server but will not actually send them because the main event loop is blocked with the API. This patch gets rid of response timer and the thread which is processing keepalive requests is also responsible for queueing responses for delivery.
Diffstat (limited to 'src/rpc/virkeepalive.h')
-rw-r--r--src/rpc/virkeepalive.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/rpc/virkeepalive.h b/src/rpc/virkeepalive.h
index 09264a507..62227d068 100644
--- a/src/rpc/virkeepalive.h
+++ b/src/rpc/virkeepalive.h
@@ -55,6 +55,7 @@ int virKeepAliveTimeout(virKeepAlivePtr ka);
bool virKeepAliveTrigger(virKeepAlivePtr ka,
virNetMessagePtr *msg);
bool virKeepAliveCheckMessage(virKeepAlivePtr ka,
- virNetMessagePtr msg);
+ virNetMessagePtr msg,
+ virNetMessagePtr *response);
#endif /* __VIR_KEEPALIVE_H__ */