Implement kill_conn_list_for_oos()

This commit is contained in:
Andrea Shepard 2016-06-30 14:13:42 +00:00
parent c76d45bdec
commit e9464737af

View File

@ -4519,9 +4519,20 @@ pick_oos_victims(int n)
static void
kill_conn_list_for_oos(smartlist_t *conns)
{
(void)conns;
if (!conns) return;
/* TODO */
SMARTLIST_FOREACH_BEGIN(conns, connection_t *, c) {
/* Make sure the channel layer gets told about orconns */
if (c->type == CONN_TYPE_OR) {
connection_or_close_for_error(TO_OR_CONN(c), 1);
} else {
connection_mark_and_flush(c);
}
} SMARTLIST_FOREACH_END(c);
log_notice(LD_NET,
"OOS handler marked and flushed %d connections",
smartlist_len(conns));
}
/** Out-of-Sockets handler; n_socks is the current number of open