summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard W.M. Jones <rjones@redhat.com>2011-04-22 21:34:08 +0100
committerRichard W.M. Jones <rjones@redhat.com>2011-04-24 09:22:33 +0100
commit38f8ca3674138cee0a68738cff757cf70486a6f8 (patch)
treeb0a304bfad71331abba6773895fe06ad7c8ad9aa
parent54f12d3b0b4564c09b4bb9c45790ee97fd4c8e1d (diff)
downloadlibguestfs-38f8ca3674138cee0a68738cff757cf70486a6f8.tar.gz
libguestfs-38f8ca3674138cee0a68738cff757cf70486a6f8.tar.xz
libguestfs-38f8ca3674138cee0a68738cff757cf70486a6f8.zip
perl: Decrement refcount in $g->delete_event_callback.
This updates commit bc468c87d04b34faacd208c49cca4a5096e5103c. (cherry picked from commit 3acf732c2f23d8508f692efb2b222169914bfcdc)
-rw-r--r--generator/generator_perl.ml10
1 files changed, 7 insertions, 3 deletions
diff --git a/generator/generator_perl.ml b/generator/generator_perl.ml
index c8324693..e2ec254b 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)