Hi Stephen,

On Mon, Oct 12, 2015 at 02:51:14PM -0500, Stephen Cowell wrote:
> 
> I find that I sometimes get an infinite loop when stepping to
> pcb->next... 

I didn't have to read further. As usual, it looks like a broken port or 
usage which violate lwIP threading model.

Summary:

- Do *NOT* call anything in interrupt context, nothing, never, 
absolutely never, use your OS semaphore signaling to an 
Ethernet/serial/… RX thread

- memp_*, pbuf_*, functions are thread-safe if SYS_LIGHTWEIGHT_PROT is 
set, and again, thread safe does not mean it is interrupt safe

- Do *NOT* call any function from the RAW API outside lwIP thread

- Use Netconn or Socket API in others threads, but keep in mind you 
should not share a Netconn/Socket control block between threads, (or use 
proper locking if you really have to, of course).

- Please read doc/rawapi.txt from the lwIP source which explain that 
more comprehensively

Sylvain

Attachment: signature.asc
Description: Digital signature

_______________________________________________
lwip-users mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/lwip-users

Reply via email to