[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v2-resend 10/30] libxc: ocaml: add simple binding for xentoollog (output only).

Rob Hoes writes ("RE: [Xen-devel] [PATCH v2-resend 10/30] libxc: ocaml: add 
simple binding for xentoollog (output only)."):
> [Ian Jackson:]
> > Rob Hoes writes ("[Xen-devel] [PATCH v2-resend 10/30] libxc: ocaml: add
> > This (and the next two stanzas too) needs to be autogenerated somehow
> > from the list in xentoollog.h.  Otherwise people will add levels in
> > xentoollog.h and the ocaml code will go wrong.
> This would have been quite easy if the debug levels were part of the libxl 
> IDL. Unfortunately they aren't, because xentoollog is part of libxc. So what 
> options do we have? Adding some sort of IDL to libxc would be one. Or indeed 
> parsing xentoollog.h to derive the log levels, but I think the risk of that 
> going wrong due to changes in xentoollog.h may defeat its purpose.

I think we can promise not to break the syntax too badly.  Please do
parse the information out of xentoollog.h.

> > > +let create name cbs : handle =
> > > + (* Callback names are supposed to be unique *)
> > > + let suffix = string_of_int (Random.int 1000000) in
> > 
> > Surely this can't be a good way to go about it.
> > (Won't this fail at least one time in 1E6 ?)
> Most likely this function would be called just once, or at most a few times, 
> in the lifetime of the application, so it won't be that bad. But it would 
> probably be better to just use a counter instead of a random value, and raise 
> a proper exception when we hit 1e6 (or some other larger number).

Yes.  Or one 64-bit counter.

> > Why are you reimplementing in ocaml the stdio logging support from
> > xenttoollog ?  Surely you'd want to simply call
> > xtl_createlogger_stdiostream ?
> I suppose we could do that indeed.

Yes :-).  Unless there's some reason not to do that, that I'm missing.


Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.