Cnxcc call termination is not working anymore since commit
265dc95aac8eb4b5cee7992dde55ff08c92a7ac5. That commit introduced the call to
DLGCB_TERMINATED callbacks for the locally generated BYE, which leads to a deadlock in
cnxcc when it tries to end the calls because the credit (money or time) is exhausted.
This patch introduces a new structure cnxcc_lock which implements re-entrant locks.
As a side question I'm wondering if, since other modules need re-entrant locks, this
structure should be defined in lock_ops.h like the other kamailio's locks.
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/398
-- Commit Summary --
* cnxcc: make cnxcc locks re-entrant
-- File Changes --
M modules/cnxcc/cnxcc_check.c (33)
M modules/cnxcc/cnxcc_mod.c (182)
M modules/cnxcc/cnxcc_mod.h (56)
M modules/cnxcc/cnxcc_redis.c (4)
M modules/cnxcc/cnxcc_rpc.c (26)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/398.patch
https://github.com/kamailio/kamailio/pull/398.diff
---
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/398