diff options
author | Nick Mathewson <nickm@torproject.org> | 2004-05-05 01:26:57 +0000 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2004-05-05 01:26:57 +0000 |
commit | 2ba0776b027db8fa619b61fb074bf2400ac18728 (patch) | |
tree | 2f217a760e380760ac2f6efd1f4b5a0c35327a92 /src/or/connection_or.c | |
parent | d49d3dcc7bc19e9b9fb2aa29f7d94379a8aedf52 (diff) | |
download | tor-2ba0776b027db8fa619b61fb074bf2400ac18728.tar tor-2ba0776b027db8fa619b61fb074bf2400ac18728.tar.gz |
Only connection_add connections once they have conn->s sett; refactor code around this. Should make stuff more bulletproof.
svn:r1788
Diffstat (limited to 'src/or/connection_or.c')
-rw-r--r-- | src/or/connection_or.c | 10 |
1 files changed, 1 insertions, 9 deletions
diff --git a/src/or/connection_or.c b/src/or/connection_or.c index 02ee368a0..133caca47 100644 --- a/src/or/connection_or.c +++ b/src/or/connection_or.c @@ -111,17 +111,11 @@ connection_t *connection_or_connect(routerinfo_t *router) { connection_or_init_conn_from_router(conn, router); conn->state = OR_CONN_STATE_CONNECTING; - if(connection_add(conn) < 0) { /* no space, forget it */ - connection_free(conn); - return NULL; - } - switch(connection_connect(conn, router->address, router->addr, router->or_port)) { case -1: - connection_mark_for_close(conn, 0); + connection_free(conn); return NULL; case 0: - connection_set_poll_socket(conn); connection_watch_events(conn, POLLIN | POLLOUT | POLLERR); /* writable indicates finish, readable indicates broken link, error indicates broken link on windows */ @@ -129,8 +123,6 @@ connection_t *connection_or_connect(routerinfo_t *router) { /* case 1: fall through */ } - connection_set_poll_socket(conn); - if(connection_tls_start_handshake(conn, 0) >= 0) return conn; |