[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lwip-devel] [bug #48220] TCPIP_CORE_LOCKING should be the default
From: |
Joel Cunningham |
Subject: |
[lwip-devel] [bug #48220] TCPIP_CORE_LOCKING should be the default |
Date: |
Tue, 28 Jun 2016 13:42:15 +0000 (UTC) |
User-agent: |
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:47.0) Gecko/20100101 Firefox/47.0 |
Follow-up Comment #2, bug #48220 (project lwip):
Simon,
I think there is an issue with how the loopback adapter uses
tcpip_callback_with_block() that would not work if we converted it to use core
locking which executed the callback in place.
In netif_loop_output(), it schedules netif_poll() to run as the callback after
the output packet has been queued. The comment at the top of netif_poll seems
to indicate you can't call input from an output function:
/**
* Call netif_poll() in the main loop of your application. This is to prevent
* reentering non-reentrant functions like tcp_input(). Packets passed to
* netif_loop_output() are put on a list that is passed to netif->input() by
* netif_poll().
*/
It would be nice if we could resolve the reentrancy problems and be able to
use the loopback adapter without having a context switch to do the output
_______________________________________________________
Reply to this item at:
<http://savannah.nongnu.org/bugs/?48220>
_______________________________________________
Message sent via/by Savannah
http://savannah.nongnu.org/