diff --git a/src/mod/endpoints/mod_sofia/sofia.c b/src/mod/endpoints/mod_sofia/sofia.c index 8e05059c7c..cea5db904f 100644 --- a/src/mod/endpoints/mod_sofia/sofia.c +++ b/src/mod/endpoints/mod_sofia/sofia.c @@ -915,8 +915,9 @@ void *SWITCH_THREAD_FUNC sofia_profile_worker_thread_run(switch_thread_t *thread switch_mutex_lock(profile->ireg_mutex); - sprintf(sqlbuf + len, "begin;\n"); - len += 7; + + sprintf(sqlbuf, "begin;\n"); + sofia_glue_actually_execute_sql(profile, sqlbuf, NULL); while (switch_queue_trypop(profile->sql_queue, &pop) == SWITCH_STATUS_SUCCESS && pop) { char *sql = (char *) pop; @@ -940,10 +941,13 @@ void *SWITCH_THREAD_FUNC sofia_profile_worker_thread_run(switch_thread_t *thread free(pop); } - sprintf(sqlbuf + len, "commit;\n"); - //printf("TRANS:\n%s\n", sqlbuf); sofia_glue_actually_execute_sql(profile, sqlbuf, NULL); + + sprintf(sqlbuf, "commit;\n"); + sofia_glue_actually_execute_sql(profile, sqlbuf, NULL); + + switch_mutex_unlock(profile->ireg_mutex); loop_count = 0; }