[Libguestfs] [PATCH libguestfs 1/4] ocaml: Replace old enter/leave_blocking_section calls
Laszlo Ersek
lersek at redhat.com
Wed Jun 28 10:22:32 UTC 2023
On 6/27/23 14:33, Richard W.M. Jones wrote:
> Since OCaml 4 the old and confusing caml_enter_blocking_section and
> caml_leave_blocking_section calls have been replaced with
> caml_release_runtime_system and caml_acquire_runtime_system (in that
> order). Use the new names.
> ---
> generator/OCaml.ml | 5 +++--
> ocaml/guestfs-c.c | 5 +++--
> 2 files changed, 6 insertions(+), 4 deletions(-)
Highly welcome, the inverse meaning of the old names was terrible. :)
Thanks!
Laszlo
>
> diff --git a/generator/OCaml.ml b/generator/OCaml.ml
> index 02d9ee2e91..07ccd26924 100644
> --- a/generator/OCaml.ml
> +++ b/generator/OCaml.ml
> @@ -429,6 +429,7 @@ and generate_ocaml_c () =
> #include <caml/memory.h>
> #include <caml/mlvalues.h>
> #include <caml/signals.h>
> +#include <caml/threads.h>
>
> #include <guestfs.h>
> #include \"guestfs-utils.h\"
> @@ -689,12 +690,12 @@ copy_table (char * const * argv)
> pr "\n";
>
> if blocking then
> - pr " caml_enter_blocking_section ();\n";
> + pr " caml_release_runtime_system ();\n";
> pr " r = %s " c_function;
> generate_c_call_args ~handle:"g" style;
> pr ";\n";
> if blocking then
> - pr " caml_leave_blocking_section ();\n";
> + pr " caml_acquire_runtime_system ();\n";
>
> (* Free strings if we copied them above. *)
> List.iter (
> diff --git a/ocaml/guestfs-c.c b/ocaml/guestfs-c.c
> index 3888c94564..8c8aa46096 100644
> --- a/ocaml/guestfs-c.c
> +++ b/ocaml/guestfs-c.c
> @@ -34,6 +34,7 @@
> #include <caml/mlvalues.h>
> #include <caml/printexc.h>
> #include <caml/signals.h>
> +#include <caml/threads.h>
> #include <caml/unixsupport.h>
>
> #include "guestfs-c.h"
> @@ -395,12 +396,12 @@ event_callback_wrapper (guestfs_h *g,
> /* Ensure we are holding the GC lock before any GC operations are
> * possible. (RHBZ#725824)
> */
> - caml_leave_blocking_section ();
> + caml_acquire_runtime_system ();
>
> event_callback_wrapper_locked (g, data, event, event_handle, flags,
> buf, buf_len, array, array_len);
>
> - caml_enter_blocking_section ();
> + caml_release_runtime_system ();
> }
>
> value
More information about the Libguestfs
mailing list