diff --git a/src/mod/applications/mod_callcenter/mod_callcenter.c b/src/mod/applications/mod_callcenter/mod_callcenter.c index 2b820bbaff..18746f3829 100644 --- a/src/mod/applications/mod_callcenter/mod_callcenter.c +++ b/src/mod/applications/mod_callcenter/mod_callcenter.c @@ -601,6 +601,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())) { @@ -615,6 +617,8 @@ end: if (mutex) { switch_mutex_unlock(mutex); + } else { + switch_mutex_unlock(globals.mutex); } return ret; @@ -627,6 +631,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())) { @@ -642,6 +648,8 @@ end: if (mutex) { switch_mutex_unlock(mutex); + } else { + switch_mutex_unlock(globals.mutex); } return status; @@ -655,6 +663,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())) { @@ -675,6 +685,8 @@ end: if (mutex) { switch_mutex_unlock(mutex); + } else { + switch_mutex_unlock(globals.mutex); } return ret;