On Fri, 2014-07-11 at 10:13 +0200, Thomas Schwinge wrote: > Hi! > > On Thu, 10 Jul 2014 23:26:24 +0200, Richard Braun <rbr...@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