[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 20/20] libxl: ao: Convert libxl_run_bootloader
Ian Campbell writes ("Re: [Xen-devel] [PATCH 20/20] libxl: ao: Convert libxl_run_bootloader"): > On Fri, 2012-03-16 at 16:26 +0000, Ian Jackson wrote: > > +int libxl__openptys(libxl__gc *gc, libxl__openpty_state *op, > > + const struct termios *termp, > > + const struct winsize *winp) { > > "{" on next line please, (here and elsewhere) Oops. > libxl__openptys might be deserving of its own home outside > libxl_bootloader.c? I considered this but it's not that long and there are currently no other callers. > > + if (rc) { LOGE(ERROR,"sendmsg to parent failed"); _exit(-1); } > > + _exit(0); > > + } > > + > > + libxl__carefd_close(for_child); > > this is sockets[1], which we then read below (via recvmsg_fds)? I > suspect one or the other is wrong (I think the read). Yes, the read is wrong. > > + out: > > + if (sockets[0] >= 0) close(sockets[0]); > > + if (sockets[1] >= 0) close(sockets[1]); > > + libxl__carefd_close(for_child); > > for_child == sockets[1], so now we've closed it twice. Well spotted. > > +static void bootloader_arg(libxl__bootloader_state *bl, const char *arg) { > > + assert(bl->nargs < bl->argsspace); > > + bl->args[bl->nargs++] = arg; > > +} > > I'm not a huge fan of the flexarray stuff but is reinventing them again > useful? The flexarray stuff doesn't use the gc. And we don't need a variable-sized buffer. So I don't think it buys us much here. > (comes back later.. why not use XEN_RUN_DIR? Also you seem to have > created bl->outputdir for this purpose anyway?) The bug is that I wasn't using bl->outputdir. It needs to have the domid in it for obvious reasons. > > /* Sentinal for execv */ > > Pre-existing: > Sentinel I'll fix that. > > - flexarray_set(args, nr++, NULL); > > + ARG(NULL); > > > > - return (char **) flexarray_contents(args); /* Frees args */ > > Hopefully I'll find blargs getting free'd later on... bl->args is from the gc. More later... Ian. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |