Fix a logic error in circuit_stream_is_being_handled.
When I introduced the unusable_for_new_circuits flag in
62fb209d83
, I had a spurious ! in the
circuit_stream_is_being_handled loop. This made us decide that
non-unusable circuits (that is, usable ones) were the ones to avoid,
and caused it to launch a bunch of extra circuits.
Fixes bug 10456; bugfix on 0.2.4.12-alpha.
This commit is contained in:
parent
dabdc339fe
commit
b5d13d11c9
|
@ -0,0 +1,6 @@
|
||||||
|
o Major bugfixes:
|
||||||
|
- Avoid launching spurious extra circuits when a stream is pending.
|
||||||
|
This fixes a bug where any circuit that _wasn't_ unusable for new
|
||||||
|
streams would be treated as if it were, causing extra circuits to
|
||||||
|
be launched. Fixes bug 10456; bugfix on 0.2.4.12-alpha.
|
||||||
|
|
|
@ -828,7 +828,7 @@ circuit_stream_is_being_handled(entry_connection_t *conn,
|
||||||
cpath_build_state_t *build_state = origin_circ->build_state;
|
cpath_build_state_t *build_state = origin_circ->build_state;
|
||||||
if (build_state->is_internal || build_state->onehop_tunnel)
|
if (build_state->is_internal || build_state->onehop_tunnel)
|
||||||
continue;
|
continue;
|
||||||
if (!origin_circ->unusable_for_new_conns)
|
if (origin_circ->unusable_for_new_conns)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
exitnode = build_state_get_exit_node(build_state);
|
exitnode = build_state_get_exit_node(build_state);
|
||||||
|
|
Loading…
Reference in New Issue