Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 25 Nov 1998 03:44:33 -0500 (EST)
From:      HighWind Software Information <info@highwind.com>
To:        current@FreeBSD.ORG
Subject:   Resend
Message-ID:  <199811250844.DAA27850@highwind.com>

next in thread | raw e-mail | index | archive | help

I'm trying to track a problem where a "write()" to a socket
sends the beginning of the data over and over.

I'm looking at "sosend()" in uipc_socket.c, a comment says:

> * Returns nonzero on error, timeout or signal; callers
> * must check for short counts if EINTR/ERESTART are returned.
> * Data and control buffers are freed on return.

However, I don't see anywhere in the code where it returns
EINTR/ERESTART.  That is, if this code mistakenly loops when it gets
interrupted or does a partial write(), it would result in the behavior
I am seeing.

That is:
	When asked to write a big buffer "1234", we are sometimes seeing
on the network connection:
		"1121231234"


Any ideas?

-Rob

ps.
	Sorry for all the questions and issues. I'm trying to help the
best I can given my new-ness to the FreeBSD internals.

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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199811250844.DAA27850>