This commit is contained in:
Simon Goldschmidt 2013-04-24 21:38:01 +02:00
parent 796098e4c9
commit 9809f1ff66
2 changed files with 5 additions and 2 deletions

View File

@ -80,6 +80,9 @@ HISTORY
++ Bugfixes: ++ Bugfixes:
2013-04-24: Simon Goldschmidt (patch by Emil Ljungdahl):
* netif.c: fixed bug #38586 netif_loop_output() "deadlocks"
2013-01-15: Simon Goldschmidt 2013-01-15: Simon Goldschmidt
* ip4.c: fixed bug #37665 ip_canforward operates on address in wrong byte order * ip4.c: fixed bug #37665 ip_canforward operates on address in wrong byte order

View File

@ -719,7 +719,7 @@ netif_loop_output(struct netif *netif, struct pbuf *p,
for (last = r; last->next != NULL; last = last->next); for (last = r; last->next != NULL; last = last->next);
SYS_ARCH_PROTECT(lev); SYS_ARCH_PROTECT(lev);
if(netif->loop_first != NULL) { if (netif->loop_first != NULL) {
LWIP_ASSERT("if first != NULL, last must also be != NULL", netif->loop_last != NULL); LWIP_ASSERT("if first != NULL, last must also be != NULL", netif->loop_last != NULL);
netif->loop_last->next = r; netif->loop_last->next = r;
netif->loop_last = last; netif->loop_last = last;
@ -735,7 +735,7 @@ netif_loop_output(struct netif *netif, struct pbuf *p,
#if LWIP_NETIF_LOOPBACK_MULTITHREADING #if LWIP_NETIF_LOOPBACK_MULTITHREADING
/* For multithreading environment, schedule a call to netif_poll */ /* For multithreading environment, schedule a call to netif_poll */
tcpip_callback((tcpip_callback_fn)netif_poll, netif); tcpip_callback_with_block((tcpip_callback_fn)netif_poll, netif, 0);
#endif /* LWIP_NETIF_LOOPBACK_MULTITHREADING */ #endif /* LWIP_NETIF_LOOPBACK_MULTITHREADING */
return ERR_OK; return ERR_OK;