[ECOS] bsd_write() returns EINVAL
Roland Caßebohm
roland.cassebohm@visionsystems.de
Fri Jan 3 15:42:00 GMT 2003
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
More information about the Ecos-discuss
mailing list