X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=generator%2Fgenerator_perl.ml;h=e2ec254bcf0b4a8eedf9216a0a2581246aff3d2e;hb=c446e6e26e317e105870b0ab25fb082887e23bf6;hp=c8324693d3d2d9ce01401f63619a84b55f0ae737;hpb=883390fb2e8cdaf81223eb41c87f245571e3d63d;p=libguestfs.git diff --git a/generator/generator_perl.ml b/generator/generator_perl.ml index c832469..e2ec254 100644 --- a/generator/generator_perl.ml +++ b/generator/generator_perl.ml @@ -256,11 +256,15 @@ delete_event_callback (g, event_handle) int event_handle; PREINIT: char key[64]; + SV *cb; CODE: snprintf (key, sizeof key, \"_perl_event_%%d\", event_handle); - guestfs_set_private (g, key, NULL); - - guestfs_delete_event_callback (g, event_handle); + cb = guestfs_get_private (g, key); + if (cb) { + SvREFCNT_dec (cb); + guestfs_set_private (g, key, NULL); + guestfs_delete_event_callback (g, event_handle); + } SV * last_errno (g)