diff options
author | Jeff Long <willcode4@gmail.com> | 2018-01-31 21:42:22 -0500 |
---|---|---|
committer | Martin Braun <martin.braun@ettus.com> | 2018-02-03 15:21:37 +0100 |
commit | 8d04b4a7aef188a25a07ed6f41a280aaacf328c3 (patch) | |
tree | c5a19514a8421c6605d8fc9ebc56df295d704184 /docs/doxygen | |
parent | b163b242e06c9f714b05f57f7180c760f021cbb6 (diff) |
socket_pdu_impl: garbage collect closed tcp_connections
This patch addresses two problems. First tcp_connections were not being
closed, leading to a bug report about socket exhaustion [1]. Second,
socket_pdu_impl tracks tcp_connections in a vector so that it can
broadcast outgoing data to clients. Items in this vector were never
freed.
This patch does a shutdown and close on the tcp_connection when there
is a read failure (signaling a socket close). On each new accept, the
tcp_connection list in socket_pdu_impl is scanned for closed connections,
which are then removed.
Possible improvements:
- Make sure the read error is eof.
- Check sends as well as reads.
More direct signalling could be done between tcp_connection and
socket_pdu_impl, but that would require an API change. No change
is required, here.
[1] https://github.com/gnuradio/gnuradio/issues/1568
Diffstat (limited to 'docs/doxygen')
0 files changed, 0 insertions, 0 deletions