Commit 8019f225 authored by Roger Dingledine's avatar Roger Dingledine
Browse files

OP was hanging on first try if connect finishes too quickly


svn:r105
parent 5449fc86
Loading
Loading
Loading
Loading
+1 −2
Changes for src/or/connection_op.c: 1 added line, 2 removed lines.
Original line number Diff line number Diff line
@@ -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) {
+2 −3
Changes for src/or/connection_or.c: 2 added lines, 3 removed lines.
Original line number Diff line number Diff line
@@ -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 */

}