On Wed, May 17, 2017 at 03:49:45PM +0200, Daniel Kučera wrote: > No, I'm not, I'm calling it sooner: > > func libvirt_start() { > libvirt.EventRegisterDefaultImpl() > event_listen() > } Well the following example works as expected for me package main import ( "github.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.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :| _______________________________________________ libvirt-users mailing list libvirt-users@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvirt-users