|
楼主 |
发表于 2024-4-29 21:50:03
|
显示全部楼层
新证据
我在我包装的发送函数末尾检查了一下内存池pool的信息info
ULONG TOTAL, FREE, EMPTY_REQ, EMPTY_SUS, INV;
nx_packet_pool_info_get(&pool_0, &TOTAL, &FREE, &EMPTY_REQ, &EMPTY_SUS, &INV);
事实上每次调用nx_packet_allocate申请数据包,free的包都会减1,说明确实正常在内存池中申请了,只是没有正常释放。
但是在debug中追踪到nx_tcp_socket_send函数最终会调用ne_packet_transmit_release,理论上是在发送成功后释放数据包的内存,但是这部分内存为什么没回到内存池,还没有发现问题所在。
|
|