This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
Re: BSD socket read() calls blocking indefinately
- From: Andrea Acquaviva <aacquaviva at deis dot unibo dot it>
- To: psheer at icon dot co dot za
- Cc: "ecos-discuss at sources dot redhat dot com" <ecos-discuss at sources dot redhat dot com>
- Date: Fri, 07 Dec 2001 18:11:45 +0100
- Subject: Re: [ECOS] BSD socket read() calls blocking indefinately
- Organization: DEIS
- References: <200112071122.MAA10110@promet1.deis.unibo.it>
psheer@icon.co.za wrote:
> > > However TCP read() and accept() operations block
> > > indefinately even though the Ethernet driver seems
> > > to be recieving the packet, and TCP write() calls
> > > work perfectly.
> >
> > Do you have the endianness of the port number correct?
> >
>
> My test program connects to port 80 of a Linux machine,
> sends a GET request, and then reads the reply. The GET
> request gets there, the reply is sent, the reply is
> visible with tcpdump. The reply is read by the driver
> (I verified this by inserting a scan loop for
> "H", "T", "T", "P" at the lowest level of the driver.)
>
> However where the packet goes thereafter I have no clue
> and it seems quite difficult to go debugging the TCP
> stack.
>
> My read() waits forever.
>
> Can I ask where do a track the packet from here on?
>
> If I can get this working, the port of eCos to this new
> board would be almost complete.
>
> -paul
>
> ---------------------------------------------
> This message was sent using World Mail.
> http://www.worldonline.co.za
I have a similar problem.
I written a client-server application and I noticed that somtimes during
the transfer the read() blocks the program by waiting forever.
Andrea.
--
Ing. Andrea Acquaviva
D.E.I.S. - Universita' di Bologna
V.le Risorgimento, 2 40136 BOLOGNA (ITALY)
Tel: (+39) 051 20 93787 Fax: (+39) 051 2093786