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

Re: [Xen-devel] coding standards



On Mon, Mar 30, 2015 at 12:29:41PM -0600, Linda wrote:
> Hi Wei,
>     I have a few questions before we chat Tuesday.  Per your instructions, I
> read the coding standards, which referred me to libxl.h for memory
> management.  They are contradictory, in that the coding standards imply that
> I should be using internal libxl_*alloc functions, but the memory management
> section says to do a malloc. I thought someone should know.

They are not contradictory. libxl_*alloc are wrappers to libc's *alloc
functions.

I think that section is mostly material for external callers (i.e. from
the libxl user's point of view). You're going to work on the library
itself so your point of view is a bit different.

>     I assume I should look for and use the appropriate libxl_*alloc
> function.

Yes.

>     Also, you mentioned that all libxl functions should take a ctx
> (context?) as the first argument.  I had looked at several libxl_bitmap*
> functions (init, test, set, and dispose) which don't, but looking at the
> alloc code you sent me, I'm not clear on the purpose of the ctx.  Perhaps we
> can go over that in our chat.
> 

I think I said "usually". There are exceptions. :-) 

Yes, ctx means context. The application (libxl user) is going to
initialise that context and pass that to libxl public API. Then your
public API (the functions that you're going to implement are public
APIs) can use that context to do various stuff.

There are many things wrapped in context, but I don't think you really
need to care about what they are unless you really need them.

For the time being, you can use the code snippet (libxl_bitmap_alloc) I
sent you as skeleton to implement your own functions.

Wei.

> Thanks.
> 
> Linda

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

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