projects
/
tinc
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Close the proper filedescriptor (if it exists).
[tinc]
/
src
/
net_setup.c
diff --git
a/src/net_setup.c
b/src/net_setup.c
index
4bac3f0
..
f53127b
100644
(file)
--- a/
src/net_setup.c
+++ b/
src/net_setup.c
@@
-526,11
+526,11
@@
bool setup_network_connections(void)
now = time(NULL);
now = time(NULL);
+ init_events();
init_connections();
init_subnets();
init_nodes();
init_edges();
init_connections();
init_subnets();
init_nodes();
init_edges();
- init_events();
init_requests();
if(get_config_int(lookup_config(config_tree, "PingInterval"), &pinginterval)) {
init_requests();
if(get_config_int(lookup_config(config_tree, "PingInterval"), &pinginterval)) {
@@
-572,8
+572,14
@@
void close_network_connections(void)
next = node->next;
c = node->data;
next = node->next;
c = node->data;
- if(c->outgoing)
- free(c->outgoing->name), free(c->outgoing), c->outgoing = NULL;
+ if(c->outgoing) {
+ if(c->outgoing->ai)
+ freeaddrinfo(c->outgoing->ai);
+ free(c->outgoing->name);
+ free(c->outgoing);
+ c->outgoing = NULL;
+ }
+
terminate_connection(c, false);
}
terminate_connection(c, false);
}
@@
-594,11
+600,11
@@
void close_network_connections(void)
envp[4] = NULL;
exit_requests();
envp[4] = NULL;
exit_requests();
- exit_events();
exit_edges();
exit_subnets();
exit_nodes();
exit_connections();
exit_edges();
exit_subnets();
exit_nodes();
exit_connections();
+ exit_events();
execute_script("tinc-down", envp);
execute_script("tinc-down", envp);