LWIP stack on ARM7 SAM7 from Atmel

I am looking at the Rowley port of lwIP stack for SAM7 under: lwip_Demo_Rowley_ARM7 In the file ethernetif.c – under routine static struct pbuf *low_level_input(…), it creates and uses xRxSemaphore. It is not clear as to how this is being used?  I am not able to see where any other task is trying to acquire this sema? Am I missing something on the use of sema’s? Thanks

LWIP stack on ARM7 SAM7 from Atmel

It is declared static within the function so no other function can use it. It looks like it is just protecting access to the Ethernet peripheral to make it thread safe.

LWIP stack on ARM7 SAM7 from Atmel

Thanks for the quick response. I am still confused – Since this is the only place where this is being used any other thread can still access it if it does not know that this is protected by this semaphore? Or is there something more to it that I need to read about. Thanks again

LWIP stack on ARM7 SAM7 from Atmel

If the function is only ever called from one task then I would say the semaphore is not needed.

LWIP stack on ARM7 SAM7 from Atmel

Thanks