BUG/MINOR: cli: correctly remove the whole table on "clear table"

Joe Price reported that "clear table xxx" sent on the CLI would only clear
the last entry. This is true, some code was missing to remove an entry from
within the loop, and only the final condition was able to remove an entry.
The fix is obvious. No backport is needed.
This commit is contained in:
Willy Tarreau 2012-01-09 11:50:03 +01:00
parent 2f1feb99a5
commit 8fa52f4e0e

View File

@ -3699,7 +3699,10 @@ static int stats_table_request(struct stream_interface *si, bool show)
if (eb) {
struct stksess *old = si->applet.ctx.table.entry;
si->applet.ctx.table.entry = ebmb_entry(eb, struct stksess, key);
stksess_kill_if_expired(&si->applet.ctx.table.proxy->table, old);
if (show)
stksess_kill_if_expired(&si->applet.ctx.table.proxy->table, old);
else
stksess_kill(&si->applet.ctx.table.proxy->table, old);
si->applet.ctx.table.entry->ref_cnt++;
break;
}