This is the mail archive of the ecos-discuss@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]