search for: terminate_connect

Displaying 5 results from an estimated 5 matches for "terminate_connect".

2013 Nov 07
2
Segfaults on connection loss
Hi there, I'm seeing quite frequent segfaults around check_dead_connections() and terminate_connection() when the tcp meta connection to a node times out (or is e.g. firewalled), usually it happens when there's heavy packet loss: Program terminated with signal 11, Segmentation fault. #0 edge_del (e=0x1b71ba0) at edge.c:96 96 avl_delete(e->from->edge_tree, e); (gdb) bt #0...
2008 Sep 30
1
Problem compiling tinc-1.0.8 on gcc-2.95
...ctive) { + if(c->status.st.pinged) { ifdebug(CONNECTIONS) logger(LOG_INFO, _("%s (%s) didn't respond to PING in %ld seconds"), c->name, c->hostname, now - c->last_ping_time); - c->status.timeout = true; + c->status.st.timeout = true; terminate_connection(c, true); } else if(c->last_ping_time + pinginterval < now) { send_ping(c); } } else { - if(c->status.remove) { + if(c->status.st.remove) { logger(LOG_WARNING, _("Old connection_t for %s (%s) status %04x still lingering, deleting..."),...
2018 Feb 27
2
tinc 1.1: missing PONG
...break; + } + } - if(WSAEnumNetworkEvents(io->fd, io->event, &network_events) != 0) { - return false; + /* + The fd might be available for write too. However, if we already fired the read callback, that + callback might have deleted the io (e.g. through terminate_connection()), so we can't fire the + write callback here. Instead, we loop back and let the writable io loop above handle it. + */ } - if(network_events.lNetworkEvents & READ_EVENTS) { - io->cb(io->data, IO_READ); - } + /* Continue checking the rest of the events. *...
2006 Jun 01
1
Random crashes after sighup
...ection(c); @@ -297,7 +297,10 @@ _("Error while connecting to %s (%s): %s"), c->name, c->hostname, strerror(result)); closesocket(c->socket); - do_outgoing_connection(c); + if (c->outgoing) + do_outgoing_connection(c); + else + terminate_connection(c, false); continue; } } @@ -427,13 +430,14 @@ } /* Close connections to hosts that have a changed or deleted host config file */ - for(node = connection_tree->head; node; node = node->next) { c = node->data; - + if(c->outgoing) { - f...
2007 Feb 13
2
[PATCH] Eternal flush, memory leaks
...here. It calls do_outgoing_connection(), which on resolve failure calls retry_outgoing(), which adds another setup_outgoing_connection() event. Events are added as fast as they are taken away, and the flush never terminates. And apparently connections are only removed in build_fdset() and terminate_connection(), which aren't getting called in this tight loop. I've attached a patch (tinc-1.0.7-flushfix.patch) that only flushes events that already exist. I've also attached a patch (flush-1.0.7- leaks.patch) that fixes a couple minor memory leaks I spotted in "valgrind --tool=me...