]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
OP was hanging on first try if connect finishes too quickly
authorRoger Dingledine <arma@torproject.org>
Fri, 20 Sep 2002 19:33:13 +0000 (19:33 +0000)
committerRoger Dingledine <arma@torproject.org>
Fri, 20 Sep 2002 19:33:13 +0000 (19:33 +0000)
svn:r105

src/or/connection_op.c
src/or/connection_or.c

index 2ee1de3176401bdcf6e3dcc92c69355c2acf6080..89204412e632557fc6c46e6ef7397a7845bb4c18 100644 (file)
@@ -27,7 +27,6 @@ int connection_op_process_inbuf(connection_t *conn) {
   }
 
   return 0;
-
 }
 
 int op_handshake_process_keys(connection_t *conn) {
@@ -90,7 +89,7 @@ int op_handshake_process_keys(connection_t *conn) {
   connection_init_timeval(conn);
   connection_watch_events(conn, POLLIN);
 
-  return 0;
+  return connection_process_inbuf(conn); /* in case they sent some cells along with the keys */
 }
 
 int connection_op_finished_flushing(connection_t *conn) {
index fc22f4076b2ecdc24f405ca5745b1beac158403e..c16296a6155f339e1931b8bcb5b6bcd44aa7cff6 100644 (file)
@@ -89,7 +89,7 @@ int connection_or_finished_flushing(connection_t *conn) {
       conn->state = OR_CONN_STATE_OPEN;
       connection_init_timeval(conn);
       connection_watch_events(conn, POLLIN);
-      return 0;
+      return connection_process_inbuf(conn); /* in case there's anything waiting on it */
     case OR_CONN_STATE_SERVER_SENDING_AUTH:
       log(LOG_DEBUG,"connection_or_finished_flushing(): server finished sending auth.");
       conn->state = OR_CONN_STATE_SERVER_NONCE_WAIT;
@@ -331,8 +331,7 @@ int or_handshake_op_finished_sending_keys(connection_t *conn) {
   conn->state = OR_CONN_STATE_OPEN;
   connection_init_timeval(conn);
   connection_watch_events(conn, POLLIN); /* give it a default, tho the ap_handshake call may change it */
-  ap_handshake_n_conn_open(conn); /* send the pending onion */
-  return 0;
+  return ap_handshake_n_conn_open(conn); /* send the pending onion */
 
 }