diff --git a/src/mod/applications/mod_callcenter/mod_callcenter.c b/src/mod/applications/mod_callcenter/mod_callcenter.c index b02926f9b6..47e419380c 100644 --- a/src/mod/applications/mod_callcenter/mod_callcenter.c +++ b/src/mod/applications/mod_callcenter/mod_callcenter.c @@ -587,6 +587,8 @@ char *cc_execute_sql2str(cc_queue_t *queue, switch_mutex_t *mutex, char *sql, ch if (mutex) { switch_mutex_lock(mutex); + } else { + switch_mutex_lock(globals.mutex); } if (!(dbh = cc_get_db_handle())) { @@ -601,6 +603,8 @@ end: if (mutex) { switch_mutex_unlock(mutex); + } else { + switch_mutex_unlock(globals.mutex); } return ret; @@ -613,6 +617,8 @@ static switch_status_t cc_execute_sql(cc_queue_t *queue, char *sql, switch_mutex if (mutex) { switch_mutex_lock(mutex); + } else { + switch_mutex_lock(globals.mutex); } if (!(dbh = cc_get_db_handle())) { @@ -628,6 +634,8 @@ end: if (mutex) { switch_mutex_unlock(mutex); + } else { + switch_mutex_unlock(globals.mutex); } return status; @@ -641,6 +649,8 @@ static switch_bool_t cc_execute_sql_callback(cc_queue_t *queue, switch_mutex_t * if (mutex) { switch_mutex_lock(mutex); + } else { + switch_mutex_lock(globals.mutex); } if (!(dbh = cc_get_db_handle())) { @@ -661,6 +671,8 @@ end: if (mutex) { switch_mutex_unlock(mutex); + } else { + switch_mutex_unlock(globals.mutex); } return ret;