From mboxrd@z Thu Jan 1 00:00:00 1970 MIME-Version: 1.0 In-Reply-To: References: From: Charles Forsyth Date: Sun, 5 Feb 2017 15:54:04 +0000 Message-ID: To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net> Content-Type: multipart/alternative; boundary=001a1145ad88412b500547ca86d5 Subject: Re: [9fans] adding TCP half-duplex close Topicbox-Message-UUID: b38a9130-ead9-11e9-9d60-3106f5b1d025 --001a1145ad88412b500547ca86d5 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable It's a similar story with SYN+data+FIN to provide a basic reliable datagram. You can't rely on a consistent implementation (unless it's to defeat your purpose). On 5 February 2017 at 15:51, Charles Forsyth wrote: > > On 5 February 2017 at 05:23, Bakul Shah wrote: > >> I think shutdown(sock, SHU_RD) is mainly to let the sender generate an >> SIGPIPE signal in case it has sent data on a closed direction of a >> connection. But I think this is only for completeness. Almost always you= =E2=80=99d >> use close(sock). At least I have not found a usecase when I=E2=80=99d wa= nt to >> shutdown the read-end but continue sending on write-end. >> > > Yes. That's roughly what I tried to do with my network pipe, but at least > at the time, target systems differed (as they were apparently allowed) as > to whether they reliably delivered data or simply flushed it, so in the e= nd > I had to add some protocol to ensure it, and didn't need the "feature". > --001a1145ad88412b500547ca86d5 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
It's a similar story with SYN+data+FIN to provide a ba= sic reliable datagram. You can't rely on a consistent implementation (u= nless it's to defeat your purpose).
On 5 February 2017 at 15:51, Charles Forsyth <charles.forsyth@gmail.com> wrote:

On 5 February 2017 at 05:23, Bakul Shah <bakul@bitblocks.com> wrote:

Yes. That's roughly what I tried to do= with my network pipe, but at least at the time, target systems differed (a= s they were apparently allowed) as to whether they reliably delivered data = or simply flushed it, so in the end I had to add some protocol to ensure it= , and didn't need the "feature".

--001a1145ad88412b500547ca86d5--