Commit 4835faeb authored by Nick Mathewson's avatar Nick Mathewson 🦀
Browse files

Merge branch 'bug9017' into maint-0.2.3

parents fe689de0 77a19353
Loading
Loading
Loading
Loading

changes/bug9017

0 → 100644
+6 −0
Original line number Diff line number Diff line
  o Major bugfixes:
    - Avoid an assertion failure on OpenBSD (and perhaps other BSDs)
      when an exit connection with optimistic data succeeds immediately
      rather than returning EINPROGRESS. Fixes bug 9017; bugfix on
      0.2.3.1-alpha.
+6 −5
Original line number Diff line number Diff line
@@ -3302,12 +3302,13 @@ connection_exit_connect(edge_connection_t *edge_conn)

  conn->state = EXIT_CONN_STATE_OPEN;
  if (connection_get_outbuf_len(conn)) {
    /* in case there are any queued data cells */
    log_warn(LD_BUG,"newly connected conn had data waiting!");
//    connection_start_writing(conn);
  }
    /* in case there are any queued data cells, from e.g. optimistic data */
    IF_HAS_NO_BUFFEREVENT(conn)
      connection_watch_events(conn, READ_EVENT|WRITE_EVENT);
  } else {
    IF_HAS_NO_BUFFEREVENT(conn)
      connection_watch_events(conn, READ_EVENT);
  }

  /* also, deliver a 'connected' cell back through the circuit. */
  if (connection_edge_is_rendezvous_stream(edge_conn)) {