On 2015年11月19日 20:16, Ian Campbell 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().
Yeah, it is in a child process.
Ian.
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel
--
Thanks,
Yang
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel