2008/3/20, Piero 74 <address@hidden>:
Ok... i will try to explain my test and the problem.
After i will post a network sniffer report.
I have a simple pc application (client) which read packet from server and show in a window.
My application in board whit lwip works using two task:
- the first task get paccket from serial port, at 115200 baud; packet has the delimiter, so, at the end of packet, this task send it on queue.
- the second task has a loop with a select on data received on socket, with a timeout of 50 ms: when timeout expired, loop on queue, get the packet from queue and call socket function send, and loop again
i did the test using very small packet (max 30 bytes), sending them on uart every 100 ms
After few packets, i saw lwip blocked: in particolar, the task which manage socket is blocked, i suppose in send function.
I saw that in this case, tcpip thread (i suppose) is looping in tcp_enqueue function, and in particolar i have: queuelen = TCP_SND_QUEUELEN, so, TCP_STATS_INC(tcp.memerr) is done.
i'm seeing that code loop in after memerr label in this function... some goto memerr are called!
i have options below this post.
i'm doing other test, i will post some report.
Piero