perl: Add binding for guestfs_user_cancel.
[libguestfs.git] / generator / generator_perl.ml
index c832469..f42bc87 100644 (file)
@@ -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)
@@ -273,6 +277,12 @@ PREINIT:
  OUTPUT:
       RETVAL
 
+void
+user_cancel (g)
+      guestfs_h *g;
+ PPCODE:
+      guestfs_user_cancel (g);
+
 ";
 
   List.iter (
@@ -772,6 +782,11 @@ errnos:
    # mkdir failed because the directory exists already.
  }
 
+=item $h->user_cancel ();
+
+Cancel current transfer.  This is safe to call from Perl signal
+handlers and threads.
+
 =cut
 
 ";