mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-10 21:23:58 +01:00
sched: Always call on_channel_free() regardless of state
A channel can bounce in the scheduler and bounce out with the IDLE state which means that if it came in the scheduler once, it has socket information that needs to be freed from the global hash table. Signed-off-by: David Goulet <dgoulet@torproject.org>
This commit is contained in:
parent
7cc9621d11
commit
84d18f70f3
@ -547,11 +547,11 @@ scheduler_release_channel,(channel_t *chan))
|
|||||||
offsetof(channel_t, sched_heap_idx),
|
offsetof(channel_t, sched_heap_idx),
|
||||||
chan);
|
chan);
|
||||||
}
|
}
|
||||||
if (the_scheduler->on_channel_free) {
|
|
||||||
the_scheduler->on_channel_free(chan);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (the_scheduler->on_channel_free) {
|
||||||
|
the_scheduler->on_channel_free(chan);
|
||||||
|
}
|
||||||
chan->scheduler_state = SCHED_CHAN_IDLE;
|
chan->scheduler_state = SCHED_CHAN_IDLE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user