[sr-dev] git:master:f3f87ca5: cdp: don't lock anymore for session during shutdown callbacks
Daniel-Constantin Mierla
miconda at gmail.com
Wed May 4 20:08:20 CEST 2016
Module: kamailio
Branch: master
Commit: f3f87ca550d44364e3c6cc1653970258fdffaa2c
URL: https://github.com/kamailio/kamailio/commit/f3f87ca550d44364e3c6cc1653970258fdffaa2c
Author: Daniel-Constantin Mierla <miconda at gmail.com>
Committer: Daniel-Constantin Mierla <miconda at gmail.com>
Date: 2016-05-04T20:07:35+02:00
cdp: don't lock anymore for session during shutdown callbacks
- if sigterm killed a worker in a locked zone, results in a deadlock at
shutdown. The cleanup is done by a sigle process, no other processes
run, therefore no more race
---
Modified: modules/cdp/session.c
---
Diff: https://github.com/kamailio/kamailio/commit/f3f87ca550d44364e3c6cc1653970258fdffaa2c.diff
Patch: https://github.com/kamailio/kamailio/commit/f3f87ca550d44364e3c6cc1653970258fdffaa2c.patch
---
diff --git a/modules/cdp/session.c b/modules/cdp/session.c
index 716048f..4c7b0bc 100644
--- a/modules/cdp/session.c
+++ b/modules/cdp/session.c
@@ -73,6 +73,7 @@ unsigned int *session_id2; /**< counter for second part of the session id */
*/
inline void AAASessionsLock(unsigned int hash)
{
+ if(_sr_destroy_modules_phase==1) return;
if ( hash >=0 && hash < sessions_hash_size ){
lock_get(sessions[hash].lock);
}
@@ -86,6 +87,7 @@ inline void AAASessionsLock(unsigned int hash)
*/
inline void AAASessionsUnlock(unsigned int hash)
{
+ if(_sr_destroy_modules_phase==1) return;
if ( hash >=0 && hash < sessions_hash_size ){
lock_release(sessions[hash].lock);
More information about the sr-dev
mailing list