[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v2] golang/xenlight: Add libxl_utils support
> On Jun 28, 2019, at 9:01 PM, George Dunlap <george.dunlap@xxxxxxxxxx> wrote: > > > >> On Jun 28, 2019, at 5:32 PM, George Dunlap <george.dunlap@xxxxxxxxxx> wrote: >> >> On 6/28/19 9:25 AM, Nicolas Belouin wrote: >>> The Go bindings for libxl miss functions from libxl_utils, let's start >>> with the simple libxl_domid_to_name and its counterpart >>> libxl_name_to_domid. >>> >>> Signed-off-by: Nicolas Belouin <nicolas.belouin@xxxxxxxxx> >> >> Just for future reference, below your SoB, it's good practice to put a >> `---` line (below which everything will be ignored), and a list of the >> changes you made. E.g,: >> >> Signed-off-by: Nicolas Belouin <nicolas.belouin@xxxxxxxxx> >> --- >> v2: >> - Don't leak C string returned by libxl_domid_to_name >> >> One more thing... >> >>> +//char* libxl_domid_to_name(libxl_ctx *ctx, uint32_t domid); >>> +func (Ctx *Context) DomidToName(id Domid) (name string) { >>> + cDomName := C.libxl_domid_to_name(Ctx.ctx, C.uint32_t(id)) >>> + defer C.free(unsafe.Pointer(cDomName)) >>> + >>> + name = C.GoString(cDomName) >> >> libxl_domid_to_name() returns NULL if domid doesn't exist. Will this >> code DTRT (returning 'nil' in that case)? Or will it crash / do >> something else? >> >> I couldn't actually find the answer in a quick search for the >> documentation. Any chance you could build a test program to see what >> happens? >> >> Alternately, we could play it safe and always check cDomName for `nil` >> before passing it to C.GoString(). > > I just asked, and it turns out if C.GoString() is passed a nil pointer, it > returns the empty string (“”), which is what we want. It’s not documented > yet, but there’s a ticket to document it soon. > > https://github.com/golang/go/issues/32734 > > So this is ready to go in: Actually, turns out it’s not: You added a file, but it’s not wired into the build system. You need to add xenlight_utils.go to PKGSOURCES in the Makefile. I’ve just sent an updated patch. -George _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |