Module: kamailio
Branch: master
Commit: dd0fd7011b750e34c595936b6c95759ccb77f786
URL:
https://github.com/kamailio/kamailio/commit/dd0fd7011b750e34c595936b6c95759…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Committer: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2015-09-18T09:33:20+02:00
htable: more checks of updateexpire when item is updated
---
Modified: modules/htable/ht_api.c
---
Diff:
https://github.com/kamailio/kamailio/commit/dd0fd7011b750e34c595936b6c95759…
Patch:
https://github.com/kamailio/kamailio/commit/dd0fd7011b750e34c595936b6c95759…
---
diff --git a/modules/htable/ht_api.c b/modules/htable/ht_api.c
index 1a77376..4e272cc 100644
--- a/modules/htable/ht_api.c
+++ b/modules/htable/ht_api.c
@@ -460,7 +460,10 @@ int ht_set_cell(ht_t *ht, str *name, int type, int_str *val, int
mode)
}
cell->next = it->next;
cell->prev = it->prev;
- cell->expire = now + ht->htexpire;
+ if(ht->updateexpire)
+ cell->expire = now + ht->htexpire;
+ else
+ cell->expire = it->expire;
if(it->prev)
it->prev->next = cell;
else
@@ -489,7 +492,10 @@ int ht_set_cell(ht_t *ht, str *name, int type, int_str *val, int
mode)
if(mode) ht_slot_unlock(ht, idx);
return -1;
}
- cell->expire = now + ht->htexpire;
+ if(ht->updateexpire)
+ cell->expire = now + ht->htexpire;
+ else
+ cell->expire = it->expire;
cell->next = it->next;
cell->prev = it->prev;
if(it->prev)
@@ -649,7 +655,8 @@ ht_cell_t* ht_cell_value_add(ht_t *ht, str *name, int val, int mode,
return NULL;
} else {
it->value.n += val;
- it->expire = now + ht->htexpire;
+ if(ht->updateexpire)
+ it->expire = now + ht->htexpire;
if(old!=NULL)
{
if(old->msize>=it->msize)