From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:58601) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XwsZC-0003tV-05 for qemu-devel@nongnu.org; Fri, 05 Dec 2014 08:05:08 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XwsZ5-0004dh-RH for qemu-devel@nongnu.org; Fri, 05 Dec 2014 08:05:01 -0500 Received: from mx1.redhat.com ([209.132.183.28]:47868) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XwsZ5-0004dc-Ip for qemu-devel@nongnu.org; Fri, 05 Dec 2014 08:04:55 -0500 Date: Fri, 5 Dec 2014 14:04:50 +0100 From: Kevin Wolf Message-ID: <20141205130450.GD6040@noname.str.redhat.com> References: <1417704542-18337-1-git-send-email-mreitz@redhat.com> <1417704542-18337-2-git-send-email-mreitz@redhat.com> <87oari2zl3.fsf@blackfin.pond.sub.org> <548183D6.3040102@redhat.com> <87tx1axp3r.fsf@blackfin.pond.sub.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <87tx1axp3r.fsf@blackfin.pond.sub.org> Subject: Re: [Qemu-devel] [PATCH v2 1/3] qemu-io: Add sigraise command List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Markus Armbruster Cc: Michael =?iso-8859-1?Q?M=FCller?= , qemu-devel@nongnu.org, Stefan Hajnoczi , Max Reitz Am 05.12.2014 um 13:23 hat Markus Armbruster geschrieben: > Max Reitz writes: > > > On 2014-12-05 at 10:52, Markus Armbruster wrote: > >> Max Reitz 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 > >>> --- > >>> 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