Daniel Richard G. wrote:
> The second test is test-sigpipe.sh:
>
> $ /path/to/testdir/gltests/test-sigpipe.sh
> CEE5213S The signal SIGPIPE was received.
> $ echo $?
> 1
>
> The default SIGPIPE signal handler appears to write to stderr, and this
> is separate from the "Broken pipe" message printed to the terminal:
>
> $ ./test-sigpipe A | head -1
> y
> CEE5213S The signal SIGPIPE was received.
> Broken pipe
>
> This test could probably use a tweak as well.
I would argue that this behaviour is not POSIX compliant. Quoting the POSIX
standard [1]:
Signal: SIGPIPE
Default action: T
The default actions are as follows:
T
Abnormal termination of the process.
A
Abnormal termination of the process [XSI] [Option Start] with additional
actions. [Option End]
Writing to stderr is an additional action this is OK for 'A' but not for 'T'.
Bruno
[1] http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/signal.h.html