search for: registerclosecallback

Displaying 7 results from an estimated 7 matches for "registerclosecallback".

2017 May 17
2
Re: Callback re-registration after libvirtd restart
...ibvirt_close_callback(conn *libvirt.Connect, reason libvirt.ConnectCloseReason){ log.Printf("close callback: %+v", reason) } func event_listen() { log.Printf("event_listen %s", conf.Libvirt.LocalUrl) hv, err := libvirt.NewConnect(conf.Libvirt.LocalUrl) err = hv.RegisterCloseCallback(libvirt_close_callback) if err != nil { log.Printf("unable to register close callback") return } ... The callback fires only when I kill my app, ^CGot signal:%!(EXTRA syscall.Signal=interrupt) close callback: 0 but not when I restart libvirtd. I tried using both...
2017 May 17
2
Re: Callback re-registration after libvirtd restart
...){ > > log.Printf("close callback: %+v", reason) > > } > > > > func event_listen() { > > log.Printf("event_listen %s", conf.Libvirt.LocalUrl) > > hv, err := libvirt.NewConnect(conf.Libvirt.LocalUrl) > > > > err = hv.RegisterCloseCallback(libvirt_close_callback) > > if err != nil { > > log.Printf("unable to register close callback") > > return > > } > > ... > > > > The callback fires only when I kill my app, > > Looks like you are missing a call to lib...
2017 May 17
2
Callback re-registration after libvirtd restart
Hi all, I'm using libvirt-go and I following code to listen for lifecycle events: func event_listen() { log.Printf("event_listen %s", conf.Libvirt.LocalUrl) hv, err := libvirt.NewConnect(conf.Libvirt.LocalUrl) lifecycleCallback := func(c *libvirt.Connect, d *libvirt.Domain, event *libvirt.DomainEventLifecycle) { event_message(c, d, "lifecycle", event)
2017 May 17
0
Re: Callback re-registration after libvirtd restart
...t error. But > the callback is not working anymore. > > My question is, how can I detect hv reconnect (I guess it's happening in > background) so I know when to reinitialize callbacks? There is a separate event you can listen to that notifies when the connection is closed. See the RegisterCloseCallback() method on the Connect object. Basically register a callback there, and when it fires, unregister your existing domain event callbacks, and close your existing Connect object handle. Then fire a goroutine that loops once every few seconds trying to open a new Connect object, and when that succeed...
2017 May 17
0
Re: Callback re-registration after libvirtd restart
...thub.com/libvirt/libvirt-go" "log" ) func libvirt_close_callback(conn *libvirt.Connect, reason libvirt.ConnectCloseReason) { log.Printf("In here") } func main() { libvirt.EventRegisterDefaultImpl() hv, err := libvirt.NewConnect("qemu:///session") err = hv.RegisterCloseCallback(libvirt_close_callback) if err != nil { log.Printf("unable to register close callback") return } for { libvirt.EventRunDefaultImpl() } } Printing out "In here" immediately when I kill libvirtd Regards, Daniel -- |: https://berrange.com -o- https://www.fli...
2017 May 17
0
Re: Callback re-registration after libvirtd restart
...reason > libvirt.ConnectCloseReason){ > log.Printf("close callback: %+v", reason) > } > > func event_listen() { > log.Printf("event_listen %s", conf.Libvirt.LocalUrl) > hv, err := libvirt.NewConnect(conf.Libvirt.LocalUrl) > > err = hv.RegisterCloseCallback(libvirt_close_callback) > if err != nil { > log.Printf("unable to register close callback") > return > } > ... > > The callback fires only when I kill my app, Looks like you are missing a call to libvirt.EventRegisterDefaultImpl(), which must...
2017 May 17
1
Re: Callback re-registration after libvirtd restart
...llback(conn *libvirt.Connect, reason > libvirt.ConnectCloseReason) { > log.Printf("In here") > } > > func main() { > libvirt.EventRegisterDefaultImpl() > > hv, err := libvirt.NewConnect("qemu:///session") > > err = hv.RegisterCloseCallback(libvirt_close_callback) > if err != nil { > log.Printf("unable to register close callback") > return > } > > for { > libvirt.EventRunDefaultImpl() > } > > } > > > Printin...