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-22 21:50:15 +0100
commit3acf732c2f23d8508f692efb2b222169914bfcdc (patch)
treed8fd7aa95f3b6ed804e6bd6ad77b0a866fa8ed18
parent0da6f55a6745686ca056c6bc8ebf647f111cb8e8 (diff)
downloadlibguestfs-3acf732c2f23d8508f692efb2b222169914bfcdc.tar.gz
libguestfs-3acf732c2f23d8508f692efb2b222169914bfcdc.tar.xz
libguestfs-3acf732c2f23d8508f692efb2b222169914bfcdc.zip
perl: Decrement refcount in $g->delete_event_callback.
This updates commit bc468c87d04b34faacd208c49cca4a5096e5103c.
-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)