Module: kamailio Branch: master Commit: 77b1b52fee7939ec1fcd04952d34649569c7233d URL: https://github.com/kamailio/kamailio/commit/77b1b52fee7939ec1fcd04952d34649569c7233d
Author: Daniel-Constantin Mierla <[email protected]> Committer: Daniel-Constantin Mierla <[email protected]> Date: 2019-07-02T18:30:48+02:00 uac: new modparam reg_gc_interval - defined value for garbage collection interval made configurable - default value 150 (secs) - what was so far --- Modified: src/modules/uac/uac.c Modified: src/modules/uac/uac_reg.c --- Diff: https://github.com/kamailio/kamailio/commit/77b1b52fee7939ec1fcd04952d34649569c7233d.diff Patch: https://github.com/kamailio/kamailio/commit/77b1b52fee7939ec1fcd04952d34649569c7233d.patch --- diff --git a/src/modules/uac/uac.c b/src/modules/uac/uac.c index 53a1b13cdf..217d1628ab 100644 --- a/src/modules/uac/uac.c +++ b/src/modules/uac/uac.c @@ -107,6 +107,7 @@ static void mod_destroy(void); static int child_init(int rank); extern int reg_timer_interval; +extern int _uac_reg_gc_interval; static pv_export_t mod_pvs[] = { { {"uac_req", sizeof("uac_req")-1}, PVT_OTHER, pv_get_uac_req, pv_set_uac_req, @@ -170,6 +171,7 @@ static param_export_t params[] = { {"reg_keep_callid", INT_PARAM, ®_keep_callid }, {"reg_random_delay", INT_PARAM, ®_random_delay }, {"reg_active", INT_PARAM, ®_active_param }, + {"reg_gc_interval", INT_PARAM, &_uac_reg_gc_interval }, {0, 0, 0} }; diff --git a/src/modules/uac/uac_reg.c b/src/modules/uac/uac_reg.c index f75c7cf38a..dfc595f020 100644 --- a/src/modules/uac/uac_reg.c +++ b/src/modules/uac/uac_reg.c @@ -58,9 +58,10 @@ #define UAC_REG_INIT (1<<4) /* registration initialized */ #define MAX_UACH_SIZE 2048 -#define UAC_REG_GC_INTERVAL 150 #define UAC_REG_TM_CALLID_SIZE 90 +int _uac_reg_gc_interval = 150; + typedef struct _reg_uac { unsigned int h_uuid; @@ -423,9 +424,10 @@ int uac_reg_ht_shift(void) tn = time(NULL); lock_get(_reg_htable_gc_lock); - if(_reg_htable_gc->stime > tn-UAC_REG_GC_INTERVAL) { + if(_reg_htable_gc->stime > tn - _uac_reg_gc_interval) { lock_release(_reg_htable_gc_lock); - LM_ERR("shifting the memory table is not possible in less than %d secs\n", UAC_REG_GC_INTERVAL); + LM_ERR("shifting in-memory table is not possible in less than %d secs\n", + _uac_reg_gc_interval); return -1; } uac_reg_reset_ht_gc(); @@ -1224,7 +1226,7 @@ void uac_reg_timer(unsigned int ticks) { lock_get(_reg_htable_gc_lock); if(_reg_htable_gc->stime!=0 - && _reg_htable_gc->stime < tn - UAC_REG_GC_INTERVAL) + && _reg_htable_gc->stime < tn - _uac_reg_gc_interval) uac_reg_reset_ht_gc(); lock_release(_reg_htable_gc_lock); } _______________________________________________ Kamailio (SER) - Development Mailing List [email protected] https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev
