|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v3 3/3] libxl: ocaml: use 'for_app_registration' in osevent callbacks
> This may seem like a daft question, but why does handles contain a value*
> rather than just a value ?
Right, the important thing is that this "value" is malloc, which is will be if
it is part of the handles struct. I'll change that.
> Also, your error paths fail to free handles (or handles->for_app, although
> I'm implicitly proposing that the latter be abolished).
>
> > + *for_app_registration_out = handles->for_app;
>
> I think this is counterintuitive. Why not pass handles to
> for_app_registration_out ? I know that your timeout_modify doesn't need
> handles->for_libxl, but it would seem clearer to have your shim proxy
> everything neatly: i.e., to always pass its own context
> ("handles") to both sides.
Ok, makes sense.
> > int timeout_modify(void *user, void **for_app_registration_update, @@
> > -1315,25 +1400,45 @@ int timeout_modify(void *user, void
> > **for_app_registration_update, {
> > caml_leave_blocking_section();
> > CAMLparam0();
> > + CAMLlocalN(args, 2);
> > + int ret = 0;
> > static value *func = NULL;
> > value *p = (value *) user;
> > + value *for_app = *for_app_registration_update;
> ...
> > - caml_callback(*func, *p);
> > + args[0] = *p;
> > + args[1] = *for_app;
>
> I see that you're relying on the promise in modern libxl.h that abs is
> always {0,0} meaning "right away".
>
> You should probably assert that.
Ok.
> Also, perhaps, your ocaml function should have a different name.
> "libxl_timeout_modify_now" or something. We have avoided renaming it in
> the C version to avoid API churn. Of course you may prefer to keep the
> two names identical, in which case presumably this will be addressed in
> the documentation. (Um. What documentation.) Anyway, I wanted you to
> think about this question and explicitly choose to give it a different
> name, or to avoid doing so :-).
Yes, it is probably clearer to change the name on the ocaml side to show better
what the function really does. I was thinking about "fire_now".
I'll send an update soon.
Thanks,
Rob
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |