mirror of
https://github.com/lwip-tcpip/lwip.git
synced 2024-12-25 09:16:20 +00:00
tcpip_thread: TCPIP_MSG_INPKT: free input pbufs if the input function returns an error
This simply wasn't the case until 6LoWPAN. However, since tcpip_input is like this, we should stay with that pattern. Adapted documentation in netif.h Signed-off-by: goldsimon <goldsimon@gmx.de>
This commit is contained in:
parent
3a8af612b3
commit
d9770d2c5f
@ -171,7 +171,9 @@ tcpip_thread_handle_msg(struct tcpip_msg *msg)
|
||||
#if !LWIP_TCPIP_CORE_LOCKING_INPUT
|
||||
case TCPIP_MSG_INPKT:
|
||||
LWIP_DEBUGF(TCPIP_DEBUG, ("tcpip_thread: PACKET %p\n", (void *)msg));
|
||||
msg->msg.inp.input_fn(msg->msg.inp.p, msg->msg.inp.netif);
|
||||
if (msg->msg.inp.input_fn(msg->msg.inp.p, msg->msg.inp.netif) != ERR_OK) {
|
||||
pbuf_free(msg->msg.inp.p);
|
||||
}
|
||||
memp_free(MEMP_TCPIP_MSG_INPKT, msg);
|
||||
break;
|
||||
#endif /* !LWIP_TCPIP_CORE_LOCKING_INPUT */
|
||||
|
@ -171,6 +171,9 @@ typedef err_t (*netif_init_fn)(struct netif *netif);
|
||||
*
|
||||
* @param p The received packet, copied into a pbuf
|
||||
* @param inp The netif which received the packet
|
||||
* @return ERR_OK if the packet was handled
|
||||
* != ERR_OK is the packet was NOT handled, in this case, the caller has
|
||||
* to free the pbuf
|
||||
*/
|
||||
typedef err_t (*netif_input_fn)(struct pbuf *p, struct netif *inp);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user