From: Avi Kivity <avi@qumranet.com>
To: Jeremy Fitzhardinge <jeremy@goop.org>
Cc: "Török Edwin" <edwintorok@gmail.com>,
"Linux Kernel" <linux-kernel@vger.kernel.org>
Subject: Re: Ctrl+C doesn't interrupt process waiting for I/O
Date: Sun, 29 Jun 2008 08:39:02 +0300 [thread overview]
Message-ID: <48671FF6.1070501@qumranet.com> (raw)
In-Reply-To: <48671A12.90205@goop.org>
Jeremy Fitzhardinge wrote:
> Avi Kivity wrote:
>>>
>>> Yes, it's intended behaviour. Filesystem IO syscalls are considered
>>> "fast" and are interruptible. Usermode code can reasonably expect
>>> that file IO will never return EINTR.
>>
>> That's filesystem dependent; if you mount an nfs filesystem with the
>> 'intr' mount option, it will be interruptible (which makes sense, as
>> it is impossible to guarantee the server's responsiveness).
>
> 'intr' is a pretty bad idea, and I would never recommend it ('soft' is
> better). It's an excellent way to destroy data when a stray signal
> causes a syscall to fail with EINTR in an unexpected way (write being
> the obvious one, but link, unlink, truncate or even close can fail in
> odd ways can cause havok).
>
Applications should not assume that write() (or other syscalls) can't
return EINTR. Not all filesystems have a bounded-time backing store.
'soft' has its own problems; namely false positives when someone steps
on the network cable, temporarily blocking packet flow, or when using a
clustered server which may take some time to recover from a fault.
--
Do not meddle in the internals of kernels, for they are subtle and quick to panic.
next prev parent reply other threads:[~2008-06-29 5:38 UTC|newest]
Thread overview: 47+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-06-28 10:38 Ctrl+C doesn't interrupt process waiting for I/O Török Edwin
2008-06-29 2:44 ` Jeremy Fitzhardinge
2008-06-29 2:45 ` Jeremy Fitzhardinge
2008-06-29 3:42 ` Avi Kivity
2008-06-29 5:13 ` Jeremy Fitzhardinge
2008-06-29 5:39 ` Avi Kivity [this message]
2008-06-29 6:25 ` Jeremy Fitzhardinge
2008-06-29 7:45 ` Török Edwin
2008-06-29 23:57 ` Bill Davidsen
2008-06-29 12:37 ` Alan Cox
2008-06-30 17:35 ` J. Bruce Fields
2008-06-29 7:09 ` Török Edwin
2008-06-29 7:23 ` David Newall
2008-06-29 12:10 ` Andi Kleen
2008-06-29 16:02 ` Jeremy Fitzhardinge
2008-06-30 10:30 ` Helge Hafting
2008-07-01 7:47 ` Elias Oltmanns
2008-07-01 8:02 ` Elias Oltmanns
2008-07-01 8:28 ` Török Edwin
2008-07-01 9:59 ` Elias Oltmanns
2008-07-01 12:07 ` Joe Peterson
2008-07-01 8:50 ` David Newall
2008-07-01 9:01 ` Török Edwin
2008-07-01 9:12 ` David Newall
2008-07-01 14:12 ` Joe Peterson
2008-07-01 14:48 ` Elias Oltmanns
2008-07-01 16:27 ` Joe Peterson
2008-07-02 21:26 ` Joe Peterson
2008-07-04 20:10 ` Joe Peterson
2008-07-04 20:23 ` Alan Cox
2008-07-04 21:17 ` Joe Peterson
2008-07-11 14:47 ` Alan Cox
2008-07-12 0:44 ` Joe Peterson
2008-07-12 10:37 ` Alan Cox
2008-07-04 21:21 ` Andi Kleen
2008-07-04 21:14 ` Alan Cox
2008-07-04 21:36 ` Andi Kleen
2008-07-04 21:44 ` Alan Cox
2008-07-04 22:09 ` Andi Kleen
2008-07-05 10:34 ` Alan Cox
2008-07-05 11:00 ` Andi Kleen
2008-07-05 11:34 ` Alan Cox
2008-07-05 12:49 ` Elias Oltmanns
2008-07-05 14:01 ` Andi Kleen
2008-07-05 19:58 ` Joe Peterson
2008-07-06 8:28 ` Elias Oltmanns
-- strict thread matches above, loose matches on Subject: below --
2008-07-03 0:59 Matthew Wilcox
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=48671FF6.1070501@qumranet.com \
--to=avi@qumranet.com \
--cc=edwintorok@gmail.com \
--cc=jeremy@goop.org \
--cc=linux-kernel@vger.kernel.org \
/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