Remove outgoing event in free_connection().
[tinc] / src / connection.c
index 519cf5b..7fbb0fc 100644 (file)
@@ -75,12 +75,15 @@ void free_connection(connection_t *c) {
        if(c->config_tree)
                exit_configuration(&c->config_tree);
 
-       if(c->buffer)
-               bufferevent_free(c->buffer);
+       buffer_clear(&c->inbuf);
+       buffer_clear(&c->outbuf);
        
        if(event_initialized(&c->inevent))
                event_del(&c->inevent);
 
+       if(event_initialized(&c->outevent))
+               event_del(&c->outevent);
+
        free(c);
 }
 
@@ -106,14 +109,3 @@ bool dump_connections(connection_t *cdump) {
 
        return send_request(cdump, "%d %d", CONTROL, REQ_DUMP_CONNECTIONS);
 }
-
-bool read_connection_config(connection_t *c) {
-       char *fname;
-       int x;
-
-       xasprintf(&fname, "%s/hosts/%s", confbase, c->name);
-       x = read_config_file(c->config_tree, fname);
-       free(fname);
-
-       return x == 0;
-}