This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
bsd_write() returns EINVAL
- From: Roland Caßebohm <roland dot cassebohm at visionsystems dot de>
- To: ecos-discuss at sources dot redhat dot com
- Date: Fri, 3 Jan 2003 16:42:14 +0100
- Subject: [ECOS] bsd_write() returns EINVAL
Hi,
I'm using the OpenBSD stack.
I have the following problem:
The write() function returns EINVAL, if the TCP connection is close from the
client.
Is this right?
The following code in tcp_usrreq() generates the error:
inp = sotoinpcb(so);
/*
* When a TCP is attached to a socket, then there will be
* a (struct inpcb) pointed at by the socket, and this
* structure will point at a subsidary (struct tcpcb).
*/
if (inp == 0 && req != PRU_ATTACH) {
splx(s);
/*
* The following corrects an mbuf leak under rare
* circumstances
*/
if (m && (req == PRU_SEND || req == PRU_SENDOOB))
m_freem(m);
return (EINVAL); /* XXX */
}
Thank you,
Roland
--
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss