MINOR: stick-table: allow to allocate an entry without filling it

By passing a NULL key to stksess_new(), we allocate it but do not yet
fill it. That way the caller can do that.
This commit is contained in:
Willy Tarreau 2013-04-11 16:55:37 +02:00
parent 72d6c16df4
commit a7b46b50d9

View File

@ -152,7 +152,8 @@ static int stktable_trash_oldest(struct stktable *t, int to_batch)
* Allocate and initialise a new sticky session.
* The new sticky session is returned or NULL in case of lack of memory.
* Sticky sessions should only be allocated this way, and must be freed using
* stksess_free(). Increase table <t> sticky session counter.
* stksess_free(). Table <t>'s sticky session counter is increased. If <key>
* is not NULL, it is assigned to the new session.
*/
struct stksess *stksess_new(struct stktable *t, struct stktable_key *key)
{
@ -170,7 +171,8 @@ struct stksess *stksess_new(struct stktable *t, struct stktable_key *key)
if (ts) {
t->current++;
stksess_init(t, ts);
stksess_setkey(t, ts, key);
if (key)
stksess_setkey(t, ts, key);
}
return ts;