[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] Current LibXL Status
On Thu, Nov 19, 2015 at 12:16 PM, Ian Campbell <ian.campbell@xxxxxxxxxx> wrote: > On Thu, 2015-11-19 at 11:55 +0000, Ian Campbell wrote: >> On Thu, 2015-11-19 at 11:48 +0000, Ian Campbell wrote: >> > On Thu, 2015-11-19 at 11:33 +0000, Andrew Cooper wrote: >> > > >> > > The majority of those are cases are not appropriate uses of exit(). >> > > AFAIIR, the *only* valid use of exit() in a library is to clean up in >> > > a >> > > child process from a library-initiated fork(). >> > >> > ... or (in this case) in the libxl-save-helper (separate process). >> > >> > The only one I can find which isn't one of this is >> > in libxl__event_disaster, and that is only if the applications (or >> > language >> > bindings) haven't provided a suitable disaster callback. >> >> Was looking at 4.4, in staging I also see a very odd one in >> drbd_preresume_async, which isn't obviously in a child process AFAICT. >> >> Hongyang, what prevents that exit from killing the whole toolstack >> process? > > I had missed an _async suffix on that function versus the one which was the > actual callback, it is invoked via drbd_async_call which involves a fork(). So what was the conclusion here? It looks like we've confirmed that exit() is only called: 1. In the case of a malloc() failure 2. in libxl-save-helper (a separate process forked by the library) 3. In libxl__event_disaster(), if no callback is provided Which just leaves #1 as something to be discussed? (Also, I had suggested making a new thread, but I can't find any threads continuing this conversation.) -George _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |