if (ipeer->socket == iport->last_recv_fd) {
inet_port_new_peer_delete(iport, peer);
- if (port->new_peer) forb_peer_put(peer);
+ if (port->new_peer)
+ forb_peer_put(port->new_peer);
/* Let the upper layer assign forb ID
* to this peer according to the request*/
inet_port_destroy(forb_port_t * port)
{
struct inet_port *pd = port->desc.proto_priv;
+ forb_peer_t *peer;
close(pd->epoll_fd);
close(pd->udp_socket);
close(pd->listen_socket);
+ ul_list_for_each_cut(inet_port_new_peer, pd, peer) {
+ forb_peer_put(peer);
+ }
forb_free(pd);
return 0;
}