Signal handler not called when trying to open fifo

Johannes Altmanninger <[email protected]> Thu, 26 Sep 2024 10:49:36 +0200
Newsgroups org.kernel.vger.dash
Message-ID <[email protected]>
I'm trying to recover from the state where a fifo reader is
unexpectedly unavailable.  My idea is to signal the writer process
after timeout, to avoid it hanging forever:

	mkfifo fifo
	timeout 1 sh -c 'trap "echo cleanup...; exit" TERM; exec 3>fifo'

This works when using bash or zsh but with dash my signal handler is never called.
Instead I get

	sh: 1: cannot create fifo: Interrupted system call

Is this supposed to work?