When finalizing the handle we call guestfs_close.  This function could
be long-running (eg. it may have to shut down the qemu subprocess), so
release the runtime lock.
---
 ocaml/guestfs-c.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/ocaml/guestfs-c.c b/ocaml/guestfs-c.c
index 8c8aa46096..a1865a726a 100644
--- a/ocaml/guestfs-c.c
+++ b/ocaml/guestfs-c.c
@@ -77,7 +77,9 @@ guestfs_finalize (value gv)
      * above, which is why we don't want to delete them before
      * closing the handle.
      */
+    caml_release_runtime_system ();
     guestfs_close (g);
+    caml_acquire_runtime_system ();
 
     /* Now unregister the global roots. */
     if (roots && len > 0) {
-- 
2.41.0

_______________________________________________
Libguestfs mailing list
Libguestfs@redhat.com
https://listman.redhat.com/mailman/listinfo/libguestfs

Reply via email to