This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
Blocking while recv() with freebsd/openbsd tcp/ip-stack
- From: Roland Brühwiler <bwr at zhwin dot ch>
- To: ecos-discuss at sources dot redhat dot com
- Date: Tue, 04 Mar 2003 09:40:25 +0100
- Subject: [ECOS] Blocking while recv() with freebsd/openbsd tcp/ip-stack
Hello
I'm writing an ssl-server-stack for an amr-board. To be independent of
the hardware I'm using at most the posix-functions.
so testing the code on a i386-linux system is ok.
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 is strang because the server can read the first handshake
message(client-hello) but after sending it can not read the other messages!
This problem doesn't occur on a i386-linux system.
Is this a buffer-problem (packets got lost)?
How should I test the program?
thanks a lot
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