On 20/09/2019 17:19, Anthony PERARD wrote:
> The following libxl API became asynchronous and gained an additional
> `ao_how' parameter:
>     libxl_domain_pause()
>     libxl_domain_unpause()
>     libxl_send_trigger()
>
> Adapt the ocaml binding.
>
> Build tested only.
>
> Fixes: edaa631ddcee665cdfae1cf6bc7492c791e01ef4
> Fixes: 95627b87c3159928458ee586e8c5c593bdd248d8
> Signed-off-by: Anthony PERARD <anthony.per...@citrix.com>

This library is entirely unused, full of memory leaks, and has a number
of areas needing extremely careful design due to the differing
behaviours of the libxl and ocaml runtimes.

Another option would be to drop the bindings entirely.

> ---
>
> Notes:
>     Currently, all libxl API that takes an `ao_how` have `?async:'a -> unit`
>     in the ocaml definition (and an extra unused value unit in the c stub
>     file), is that `unit` needed ?
>     
>     I tried to add it, but then for stub_xl_send_trigger() I had to use
>     CAMLparam6, and that doesn't exist.

In the Ocaml FFI, with more than 5 parameters, the entire set of
parameters is spilled to memory as an array, so the C side of the
function ends with a CAMLparam2 (list pointer and number of entries),
and has extra marshalling to do.

~Andrew

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Reply via email to