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(). Ian. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel