From: Willy Tarreau Date: Tue, 13 Jul 2010 13:20:24 +0000 (+0200) Subject: [BUG] stick-table: correctly refresh expiration timers X-Git-Tag: v1.5-dev8~546 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e8f6338c5d62a0cc5417eaa73b5a063eed8cca16;p=thirdparty%2Fhaproxy.git [BUG] stick-table: correctly refresh expiration timers The store operation did not correctly refresh the expiration timer on the stick entry. It did so on the temporary one instead. --- diff --git a/src/session.c b/src/session.c index 7c1e4761dd..556fffefcb 100644 --- a/src/session.c +++ b/src/session.c @@ -963,7 +963,7 @@ int process_sticking_rules(struct session *s, struct buffer *req, int an_bit) } } } - ts->expire = tick_add(now_ms, MS_TO_TICKS(rule->table.t->expire)); + stktable_touch(rule->table.t, ts); } } if (rule->flags & STK_IS_STORE) { @@ -1058,7 +1058,7 @@ int process_store_rules(struct session *s, struct buffer *rep, int an_bit) ts = stktable_lookup(s->store[i].table, s->store[i].ts); if (ts) { /* the entry already existed, we can free ours */ - stktable_touch(s->store[i].table, s->store[i].ts); + stktable_touch(s->store[i].table, ts); stksess_free(s->store[i].table, s->store[i].ts); } else