qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] Re: [PATCH, RFC] Replace assert(0) with abort() or cpu


From: Jamie Lokier
Subject: Re: [Qemu-devel] Re: [PATCH, RFC] Replace assert(0) with abort() or cpu_abort()
Date: Tue, 16 Mar 2010 17:55:23 +0000
User-agent: Mutt/1.5.13 (2006-08-11)

Markus Armbruster wrote:
> Paolo Bonzini <address@hidden> writes:
> 
> > On 03/15/2010 07:36 PM, Markus Armbruster wrote:
> >> Please don't tell me that user emulators make abort() return.  abort()
> >> is declared __noreturn__, and the optimizer may well rely on that.
> >
> > If the user programs make a "signal (SIGABRT, SIG_IGN)" call, I
> > suppose abort() will return.
> 
> I program doing that gets what it asks for, and richly deserves.

A guest program is also allowed to trap SIGABRT with a signal handler,
and that does have some uses.  E.g. cleaning up temporary files and
shmem segments following a crash when calling 3rd party code.

Whatever the guest does with SIGABRT, it should not result in _QEMU_
crashing - whether due to abort() returning, or QEMU's control flow
jumping to the guest's signal handler from an unexpected location.

-- Jamie




reply via email to

[Prev in Thread] Current Thread [Next in Thread]