Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 24 Oct 2001 11:06:11 +0530
From:      "Anjali Kulkarni" <anjali@indranetworks.com>
To:        "Kenneth Wayne Culver" <culverk@wam.umd.edu>, <freebsd-hackers@FreeBSD.ORG>
Subject:   Re: domain sockets question (don't laugh)
Message-ID:  <006901c15c4d$def463c0$0a00a8c0@indranet>
References:  <Pine.GSO.4.21.0110232114060.12407-100000@rac1.wam.umd.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi,

You have said that reader exits when there is no more data to read, and that
does not necessarily mean it has read all data being written by writer. And
if the reader exits before writer finishes sending all data, it will give
you a broken pipe. You have to either make the no. of bytes being read by
the reader equal to no. of bytes being written by writer or handle the
resulting error.

Anjali

----- Original Message -----
From: "Kenneth Wayne Culver" <culverk@wam.umd.edu>
To: <freebsd-hackers@FreeBSD.ORG>
Sent: Wednesday, October 24, 2001 6:52 AM
Subject: domain sockets question (don't laugh)


> While I've been coding for a long time, and am fairly decent at coding in
> the kernel, I've never really had a chance to get into sockets
> programming. So I thought I'd write a simple set of programs to see how
> things work. From what I understand, when you read on a socket, you have
> to do it in a loop because it won't block and wait for the total amount of
> data specified, while write will not return until all specified data has
> been written. My problem is that I've set up a read loop to read in chunks
> that are the size of the recv/send buffers (16384 bytes) from the socket
> (until the end of course, when it reads only what's left), then when I
> write from one program to the socket for the other program to read, the
> program that's writing exits with the message "broken pipe" while the
> program that's reading doesn't think there was any error, reads the
> amount of data it should have read (although I'm not sure if there's any
> data there). Can anyone tell me what's going on?
>
> Ken
>
>
> To Unsubscribe: send mail to majordomo@FreeBSD.org
> with "unsubscribe freebsd-hackers" in the body of the message
>


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?006901c15c4d$def463c0$0a00a8c0>