Skip to content

Commit

Permalink
Check that TCP connections aren't dropped in callbacks.
Browse files Browse the repository at this point in the history
They aren't, but it's unclear whether it's structurally impossible.
  • Loading branch information
iphydf committed Jan 11, 2017
1 parent 958aa43 commit 583d716
Showing 1 changed file with 5 additions and 0 deletions.
5 changes: 5 additions & 0 deletions toxcore/TCP_connection.c
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,8 @@

#include "util.h"

#include <assert.h>


struct TCP_Connections {
DHT *dht;
Expand Down Expand Up @@ -1397,6 +1399,9 @@ static void do_tcp_conns(TCP_Connections *tcp_c, void *userdata)
/* callbacks can change TCP connection address. */
tcp_con = get_tcp_connection(tcp_c, i);

// Make sure the TCP connection wasn't dropped in any of the callbacks.
assert(tcp_con != NULL);

if (tcp_con->connection->status == TCP_CLIENT_DISCONNECTED) {
if (tcp_con->status == TCP_CONN_CONNECTED) {
reconnect_tcp_relay_connection(tcp_c, i);
Expand Down

0 comments on commit 583d716

Please sign in to comment.