Defect report from : Loic Domaigne , Personal Interest
(Please direct followup comments direct to yyyyyyyyyyyyyy@xxxxxxxxxxxxx)
@ page 51173 line 1659 section write editorial {write}
Problem:
Edition of Specification (Year): 2003
Defect code : 1. Error
Reference are given against TC1.
At line 51171-51173 it is stated that:
The write() function shall fail if:
[EPIPE]
A write was attempted on a socket that is shut down for writing, or
is no longer connected. In the latter case, if the socket is of type
SOCK_STREAM, the SIGPIPE signal is generated to the calling process.
As discussed on c.p.t. (see thread "signals, threads, SIGPIPE,
sigpending (fun!)"), SIGPIPE should be thread-oriented, and not
process-oriented.
Note that, some "modern unix" still treat SIGPIPE as a process oriented
signal. In fact, SIGPIPE is delivered to the thread that call write() as
expected. But when the thread is scheduled out, some implementations
chose to "move" the signal to the to-be-scheduled thread, since they
consider that the signal should be delivered ASAP.
Action:
replace "process" by "thread".
|