On Thursday, 24 April 2025 at 14:04:03 UTC, Andy Valencia wrote:
[...]
Phobos appears to try and inhibit this on some BSD systems,

How does it do that?

but on Linux if the recipient has closed the socket and [the OPs process running his progam] write[s]--SIGPIPE.

"the whole point of the signal is to notify [the process writing to the closed socket] asynchronously that the write is no longer possible. This is part of what makes the whole elegant co-routine structure of pipes work in UNIX." [1]

The truth is probably that there are lots of programs which don't check write's (printf's etc.) return value so that they will continue running.

[...] I added a SIG_IGN of SIGPIPE and that made the problem stop.

You know that it will now throw? [0]


[0] [Issue 21649] Make D runtime ignore or handle SIGPIPE or document the behavior, https://forum.dlang.org/thread/bug-2164...@https.issues.dlang.org%2F

[1] https://stackoverflow.com/questions/8369506/why-does-sigpipe-exist
  • TIL: writing to ... Andy Valencia via Digitalmars-d-learn
    • Re: TIL: wr... Richard (Rikki) Andrew Cattermole via Digitalmars-d-learn
    • Re: TIL: wr... kdevel via Digitalmars-d-learn

Reply via email to