From: Linus Torvalds <torvalds@linux-foundation.org>
To: Andi Kleen <andi@firstfloor.org>
Cc: "Ingo Molnar" <mingo@elte.hu>,
"Roland McGrath" <roland@redhat.com>,
"Thomas Gleixner" <tglx@linutronix.de>,
"Andrew Morton" <akpm@linux-foundation.org>,
linux-kernel@vger.kernel.org,
"Elias Oltmanns" <eo@nebensachen.de>,
"Török Edwin" <edwintorok@gmail.com>,
"Arjan van de Ven" <arjan@infradead.org>
Subject: Re: [PATCH] x86_64: fix delayed signals
Date: Sun, 13 Jul 2008 12:08:40 -0700 (PDT) [thread overview]
Message-ID: <alpine.LFD.1.10.0807131204280.2959@woody.linux-foundation.org> (raw)
In-Reply-To: <487A5082.6050704@firstfloor.org>
On Sun, 13 Jul 2008, Andi Kleen wrote:
>
> While the bit about color ls (which I use here) catching signals was
> also interesting I wouldn't expect the color ls to take longer to
> process Ctrl-C even if it hits user space because it shouldn't
> do anything block here (unless the terminal is in flow control,
> but is unlikely)
I didn't take a look at the source, but I literally think that the 'ls'
SIGINT handler is something like
static void sigint(int signr)
{
exit_with_sigint = 1;
}
and then in the output routine it does a
if (exit_with_sigint) {
signal(SIGINT, SIG_DFL);
kill(-1, SIGINT);
}
at the end because that's the only thing that explains that it always
exits after printing the _first_ line of output (ignoring the header - it
obviously doesn't have that "if (exit_with_sigint)" test in that
code-path).
Sad. Horrible crap. It means that it totally disables the kernels ability
to make fatal signals break out of disk wait etc. It's also totally
_unnecessary_, because 'ls' shouldn't even bother to block signals until
just before it starts doing the printout.
Oh well. You can't expect too much of user level programmers.
Linus
prev parent reply other threads:[~2008-07-13 19:09 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-07-10 21:50 Roland McGrath
2008-07-10 22:06 ` Linus Torvalds
2008-07-10 22:42 ` Roland McGrath
2008-07-10 22:51 ` Linus Torvalds
2008-07-10 23:02 ` Linus Torvalds
2008-07-11 0:52 ` Roland McGrath
2008-07-11 1:18 ` Linus Torvalds
2008-07-11 1:27 ` Roland McGrath
2008-07-11 1:48 ` Linus Torvalds
2008-07-11 2:02 ` Linus Torvalds
2008-07-11 2:22 ` Linus Torvalds
2008-07-11 2:26 ` Linus Torvalds
2008-07-12 12:24 ` Andi Kleen
2008-07-11 5:46 ` Ingo Molnar
2008-07-11 11:13 ` Török Edwin
2008-07-11 12:24 ` Elias Oltmanns
2008-07-11 17:58 ` Linus Torvalds
2008-07-11 18:07 ` Roland McGrath
2008-07-11 18:16 ` Linus Torvalds
2008-07-11 18:17 ` Linus Torvalds
2008-07-11 18:10 ` Linus Torvalds
2008-07-11 18:31 ` Linus Torvalds
2008-07-11 22:53 ` Arjan van de Ven
2008-07-12 10:33 ` Török Edwin
2008-07-11 20:37 ` Linus Torvalds
2008-07-11 23:22 ` Linus Torvalds
2008-07-12 10:32 ` Török Edwin
2008-07-12 13:42 ` Török Edwin
2008-07-12 14:55 ` Arjan van de Ven
2008-07-12 18:00 ` Linus Torvalds
2008-07-12 18:15 ` Arjan van de Ven
2008-07-12 18:28 ` Linus Torvalds
2008-07-12 17:29 ` Linus Torvalds
2008-07-12 20:26 ` Török Edwin
2008-07-12 20:47 ` Linus Torvalds
2008-07-12 20:57 ` Denys Vlasenko
2008-07-13 10:46 ` Oleg Nesterov
2008-07-13 12:34 ` Denys Vlasenko
2008-07-13 18:36 ` Linus Torvalds
2008-07-13 18:45 ` Peter T. Breuer
2008-07-12 12:27 ` Andi Kleen
2008-07-12 17:41 ` Linus Torvalds
2008-07-13 9:38 ` Andi Kleen
2008-07-13 17:32 ` Linus Torvalds
2008-07-13 18:59 ` Andi Kleen
2008-07-13 19:08 ` Linus Torvalds [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=alpine.LFD.1.10.0807131204280.2959@woody.linux-foundation.org \
--to=torvalds@linux-foundation.org \
--cc=akpm@linux-foundation.org \
--cc=andi@firstfloor.org \
--cc=arjan@infradead.org \
--cc=edwintorok@gmail.com \
--cc=eo@nebensachen.de \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=roland@redhat.com \
--cc=tglx@linutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®