[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Small test example for: cannot create /dev/null: Interrupted system
From: |
Svante Signell |
Subject: |
Re: Small test example for: cannot create /dev/null: Interrupted system call |
Date: |
Fri, 11 Jul 2014 10:30:43 +0200 |
On Fri, 2014-07-11 at 10:13 +0200, Thomas Schwinge wrote:
> Hi!
>
> On Thu, 10 Jul 2014 23:26:24 +0200, Richard Braun <rbraun@sceen.net> wrote:
> > On Thu, Jul 10, 2014 at 11:18:17PM +0200, Richard Braun wrote:
> > > All right, it looks like open() gets interrupted by SIGCHLD here. It's
> > > my understanding that signal handling is highly system-specific in such
> > > cases, but we probably want to align on what others do, as usual.
> >
> > By the way, it looks like it happens with dash only, not bash. I suppose
> > dash relies on the Linux-specific behaviour of interrupting a blocked
> > open(). See if switching to bash helps.
>
> That's also what I figured from my experimenting before coulomb crashed,
> <http://news.gmane.org/find-root.php?message_id=%3C87wqghouoc.fsf%40schwinge.name%3E>.
> If I remember correctly, I have never been able to reproduce the issue
> when switching /bin/sh from dash to bash. Svante, which is your /bin/sh?
Hi Thomas, the shell I use is dash.
Some further tests:
Linux:
./test_interrupted_system_call.sh
./test_interrupted_system_call.bash
./test_interrupted_system_call.bash: line 8: 28384
Killed ./native 2>&1
./test_interrupted_system_call.bash: line 8: wait: pid 2 is not a child
of this shell
Hurd:
./test_interrupted_system_call.sh
./test_interrupted_system_call.sh: 8: ./test_interrupted_system_call.sh:
cannot create /dev/null: Interrupted system call
./test_interrupted_system_call.bash
./test_interrupted_system_call.bash: line 8: 29957
Killed ./native 2>&1
./test_interrupted_system_call.bash: line 8: wait: pid 2 is not a child
of this shell