Am 05.12.2014 um 13:23 hat Markus Armbruster geschrieben: > Max Reitz <mre...@redhat.com> writes: > > > On 2014-12-05 at 10:52, Markus Armbruster wrote: > >> Max Reitz <mre...@redhat.com> writes: > >> > >>> abort() has the sometimes undesirable side-effect of generating a core > >>> dump. If that is not needed, SIGKILL has the same effect of abruptly > >>> crash qemu; without a core dump. > >>> > >>> Thus, -c abort is not always useful to simulate a qemu-io crash; > >>> therefore, this patch adds a new sigraise command which allows to raise > >>> any Unix signal. > >> Nitpick: signals are ISO C, not just UNIX. > > > > Yes, but "Unix signal" is what the Wikipedia article is named, so... ;-) > > If it's in Wikipedia, it must be right! Quick, file a bug against the C > standard!
Well, if we're into nitpicking today: As you already said below, only a small subset is in standard C. Therefore, "allows to raise any Unix signal" is more than "allows to raise any C signal". > >>> Signed-off-by: Max Reitz <mre...@redhat.com> > >>> --- > >>> qemu-io-cmds.c | 46 ++++++++++++++++++++++++++++++++++++++++++++++ > >>> 1 file changed, 46 insertions(+) > >>> > >>> diff --git a/qemu-io-cmds.c b/qemu-io-cmds.c > >>> index d94fb1e..942b694 100644 > >>> --- a/qemu-io-cmds.c > >>> +++ b/qemu-io-cmds.c > >>> @@ -2048,6 +2048,51 @@ static const cmdinfo_t abort_cmd = { > >>> .oneline = "simulate a program crash using abort(3)", > >>> }; > >>> +static void sigraise_help(void) > >>> +{ > >>> + printf( > >>> +"\n" > >>> +" raises the given Unix signal\n" > >>> +"\n" > >>> +" Example:\n" > >>> +" 'sigraise 9' - raises SIGKILL\n" > >> Assumes SIGKILL is encoded as 9, which is traditionally the case, but > >> not actually mandated by POSIX. > > > > Yes, I know. The best would be to parse the signal like kill(1) does, > > but that would have been extra difficult and probably not worth the > > effort. > > Agree. > > > Furthermore, I know there is a song called "kill dash nine", so I > > guessed it would be enough (at least it'll have to be enough for test > > 039, thanks to "_supported_os Linux"). > > Bash can map signal names to numbers and back: > > $ kill -l 9 > KILL > $ kill -l KILL > 9 > > Perhaps you can use that to avoid hardcoding. Can we please immediately stop overengineering a simple debugging tool that should do nothing but quit qemu without doing a clean shutdown? If the literal 9 bothers you, kill the example from the help text and be done with it. Kevin