libguestfs/0015-ocaml-implicit_close-test-collect-all-currently-unre.patch
Richard W.M. Jones d9b4d60317 Remove bundled ocaml-augeas
resolves: RHEL-32142
2024-06-20 12:52:43 +01:00

39 lines
1.4 KiB
Diff

From dc076916ebaa4b70441d54a09d725dd3c349e740 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=BCrgen=20H=C3=B6tzel?= <juergen@archlinux.org>
Date: Sat, 27 May 2023 15:32:36 +0200
Subject: [PATCH] ocaml/implicit_close test: collect all currently unreachable
blocks
Fixes failing implice_close test on OCaml 5.
RWMJ:
I adjusted this patch so that we continue to call Gc.compact on
exiting the test, to move all of the heap (hopefully revealing flaws
in the bindings). This only works on OCaml <= 4, but Gc.compact may
be fixed/reimplemented later in the 5.x series.
Please see also the lengthy discussion of this patch upstream:
https://listman.redhat.com/archives/libguestfs/2023-May/thread.html#31639
https://listman.redhat.com/archives/libguestfs/2023-June/thread.html#31709
https://discuss.ocaml.org/t/ocaml-heap-fsck-and-forcing-collection-of-unreachable-objects/12281/1
(cherry picked from commit 1274452d225da71f115e0cb8ad435e02670dc4fb)
---
ocaml/t/guestfs_065_implicit_close.ml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/ocaml/t/guestfs_065_implicit_close.ml b/ocaml/t/guestfs_065_implicit_close.ml
index 567e550b..f2dfecbd 100644
--- a/ocaml/t/guestfs_065_implicit_close.ml
+++ b/ocaml/t/guestfs_065_implicit_close.ml
@@ -30,7 +30,7 @@ let () =
*)
(* This should cause the GC to close the handle. *)
-let () = Gc.compact ()
+let () = Gc.full_major ()
let () = assert (!close_invoked = 1)