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]

Re: Blocking while recv() with freebsd/openbsd tcp/ip-stack




Jonathan Larmour wrote:

Roland Brühwiler wrote:
> Compiling the sources for the arm-bord with the freebsd or openbsd
> tcp/ip stack is ok. No errors.
> After loading and continuing with arm-elf-gdb the software is starting.
> A client sends the hello-packet and the server (arm-board with
> ecos/redboot) sends back the other handshake messages. After sending the
> server-hello-done packet I want to read 5 Bytes from the tcp-connection.
> But the server is blocking while I use the function recv(fd,buf,5,0)
> although the client writes some bytes in the meantime. If I use the
> MSG_NOWAIT-flag it isn't blocking but with wrong bytes.

It seems no-one has seen this before, which isn't to say there isn't a
good reason, but it may be wise to check your client code, and also
perhaps check that there are no stack overruns anywhere.

Only other debugging hints I have are enable assertions, and there are
copious options in the low level drivers, generic eth drivers and net
stacks to enable extra logging.

Jifl
--
eCosCentric    http://www.eCosCentric.com/    The eCos and RedBoot experts
--[ "You can complain because roses have thorns, or you ]--
--[  can rejoice because thorns have roses." -Lincoln   ]-- Opinions==mine

The client is openssl s_client (to test my SSL-stack on the board).
How can I find out if there is an overflow. Is this possible with the gdb-stub?
I'm don't know why the recv is blocking.


Roland


Content Security by MailMarshal


--
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]