diff options
Diffstat (limited to 'openbsc/src/reg-proxy/reg_proxy.c')
-rw-r--r-- | openbsc/src/reg-proxy/reg_proxy.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/openbsc/src/reg-proxy/reg_proxy.c b/openbsc/src/reg-proxy/reg_proxy.c index 6b3487b30..4c05a89e4 100644 --- a/openbsc/src/reg-proxy/reg_proxy.c +++ b/openbsc/src/reg-proxy/reg_proxy.c @@ -209,6 +209,17 @@ void printf_trace_func (char *fi, int li, osip_trace_level_t level, char *chfr, printf ("\n"); } +void nict_trans_free(osip_t * osip) +{ + int pos = 0; + while (!osip_list_eol(&osip->osip_nict_transactions, pos)) { + osip_transaction_t *tr = (osip_transaction_t*) osip_list_get(&osip->osip_nict_transactions, pos); + if (tr->state== NICT_TERMINATED) + osip_transaction_free(tr); + else + pos++; + } +} int main(int argc, char **argv) { @@ -314,5 +325,6 @@ int main(int argc, char **argv) osip_timers_ist_execute(reg->osip); osip_retransmissions_execute(reg->osip); + nict_trans_free(reg->osip); } } |