send() is supposed to always free buffers, even if it returns an error

1.2-legacy
geeksville 2020-05-02 19:51:55 -07:00
rodzic bb9f595b8b
commit 80268ea56a
1 zmienionych plików z 2 dodań i 1 usunięć

Wyświetl plik

@ -44,7 +44,7 @@ void Router::loop()
/**
* Send a packet on a suitable interface. This routine will
* later free() the packet to pool. This routine is not allowed to stall.
* If the txmit queue is full it might return an error
* If the txmit queue is full it might return an error.
*/
ErrorCode Router::send(MeshPacket *p)
{
@ -53,6 +53,7 @@ ErrorCode Router::send(MeshPacket *p)
return iface->send(p);
} else {
DEBUG_MSG("Dropping packet - no interfaces - fr=0x%x,to=0x%x,id=%d\n", p->from, p->to, p->id);
packetPool.release(p);
return ERRNO_NO_INTERFACES;
}
}