Re: short reads on unix stream on netbsd-10

2023-09-06 Thread Manuel Bouyer
On Wed, Sep 06, 2023 at 09:28:31AM -0400, Mouse wrote: > > serv_input: read@3 need 468 got 396 (and disconnects). > > > The code is: > > if (i != (nchars = read(fd, T.c, i))) { > > fprintf(stderr, "serv_input: read@%d need %d got %d\n", > >

Re: short reads on unix stream on netbsd-10

2023-09-06 Thread Mouse
> [...] for perfused(8) a few years ago. See section 3.3 of my > EuroBSDcon paper if you are curious of the details. > http://hcpnet.free.fr/pubz/fuse.pdf Heh. Reading that reminds me of my own run-ins with puffs. I implemented a gitfs (present git repos as a filesystem) using puffs, only to fi

Re: short reads on unix stream on netbsd-10

2023-09-06 Thread Emmanuel Dreyfus
On Wed, Sep 06, 2023 at 09:28:31AM -0400, Mouse wrote: > That's a good question. In general, SOCK_STREAM socket connections > never promise atomicity of anything larger than one byte. It's > possible AF_LOCAL provides a stronger promise, but, if so, I'm not sure > where that promise is documented

Re: short reads on unix stream on netbsd-10

2023-09-06 Thread Mouse
> serv_input: read@3 need 468 got 396 (and disconnects). > The code is: > if (i != (nchars = read(fd, T.c, i))) { > fprintf(stderr, "serv_input: read@%d need %d got %d\n", > fd, i, nchars); > server_died(); >