[libvirt] [PATCH v4 11/13] Add keepalive support into domain-events examples

2011-10-27 Thread Jiri Denemark
---
Notes:
ACKed

Version 4:
- no changes

Version 3:
- update to client API changes (virConnectAllowKeepAlive dropped
  and virConnectStartKeepAlive renamed as virConnectSetKeepAlive)

Version 2:
- automatically exit when a connection is closed because of
  keepalive timeout

 examples/domain-events/events-c/event-test.c   |9 -
 examples/domain-events/events-python/event-test.py |4 +++-
 2 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/examples/domain-events/events-c/event-test.c 
b/examples/domain-events/events-c/event-test.c
index 7c99222..af1f47d 100644
--- a/examples/domain-events/events-c/event-test.c
+++ b/examples/domain-events/events-c/event-test.c
@@ -416,7 +416,14 @@ int main(int argc, char **argv)
 (callback6ret != -1) &&
 (callback7ret != -1) &&
 (callback9ret != -1)) {
-while (run) {
+if (virConnectSetKeepAlive(dconn, 5, 3) < 0) {
+virErrorPtr err = virGetLastError();
+fprintf(stderr, "Failed to start keepalive protocol: %s\n",
+err && err->message ? err->message : "Unknown error");
+run = 0;
+}
+
+while (run && virConnectIsAlive(dconn) == 1) {
 if (virEventRunDefaultImpl() < 0) {
 virErrorPtr err = virGetLastError();
 fprintf(stderr, "Failed to run event loop: %s\n",
diff --git a/examples/domain-events/events-python/event-test.py 
b/examples/domain-events/events-python/event-test.py
index 9628f6e..60a9c34 100644
--- a/examples/domain-events/events-python/event-test.py
+++ b/examples/domain-events/events-python/event-test.py
@@ -531,11 +531,13 @@ def main():
 vc.domainEventRegisterAny(None, libvirt.VIR_DOMAIN_EVENT_ID_GRAPHICS, 
myDomainEventGraphicsCallback, None)
 vc.domainEventRegisterAny(None, libvirt.VIR_DOMAIN_EVENT_ID_DISK_CHANGE, 
myDomainEventDiskChangeCallback, None)
 
+vc.setKeepAlive(5, 3)
+
 # The rest of your app would go here normally, but for sake
 # of demo we'll just go to sleep. The other option is to
 # run the event loop in your main thread if your app is
 # totally event based.
-while 1:
+while vc.isAlive() == 1:
 time.sleep(1)
 
 
-- 
1.7.7.1

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


Re: [libvirt] [PATCH v4 11/13] Add keepalive support into domain-events examples

2011-11-07 Thread Daniel P. Berrange
On Thu, Oct 27, 2011 at 06:05:47PM +0200, Jiri Denemark wrote:
> ---
> Notes:
> ACKed
> 
> Version 4:
> - no changes
> 
> Version 3:
> - update to client API changes (virConnectAllowKeepAlive dropped
>   and virConnectStartKeepAlive renamed as virConnectSetKeepAlive)
> 
> Version 2:
> - automatically exit when a connection is closed because of
>   keepalive timeout
> 
>  examples/domain-events/events-c/event-test.c   |9 -
>  examples/domain-events/events-python/event-test.py |4 +++-
>  2 files changed, 11 insertions(+), 2 deletions(-)

ACK

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

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