On Fri, Feb 10, 2012 at 10:41 PM, Daniel P. Berrange <berra...@redhat.com> wrote: > On Fri, Feb 10, 2012 at 10:34:13PM +0800, Zhi Yong Wu wrote: >> From: Zhi Yong Wu <wu...@linux.vnet.ibm.com> >> >> Signed-off-by: Zhi Yong Wu <wu...@linux.vnet.ibm.com> >> --- >> oslib-posix.c | 4 ++-- >> oslib-win32.c | 4 ++-- >> 2 files changed, 4 insertions(+), 4 deletions(-) >> >> diff --git a/oslib-posix.c b/oslib-posix.c >> index b6a3c7f..f978d56 100644 >> --- a/oslib-posix.c >> +++ b/oslib-posix.c >> @@ -80,7 +80,7 @@ void *qemu_oom_check(void *ptr) >> { >> if (ptr == NULL) { >> fprintf(stderr, "Failed to allocate memory: %s\n", strerror(errno)); >> - abort(); >> + exit(EXIT_FAILURE); > > exit() will call any atexit()/on_exit() handlers, as well as trying > to flush I/O streams. Any of these actions may require further > memory allocations, which will likely fail, or worse cause this > code to re-enter itself if an atexit() handler calls qemu_malloc Nice, very reasonable. > > The only option other than abort(), is to use _Exit() which > doesn't try to run cleanup handlers. I will try to send out v2 > > Daniel > -- > |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| > |: http://libvirt.org -o- http://virt-manager.org :| > |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| > |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|
-- Regards, Zhi Yong Wu