fix MODENDP-98

git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@7900 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
Anthony Minessale 2008-03-17 16:12:38 +00:00
parent 46c7ef1686
commit fbccbd1e23
2 changed files with 11 additions and 11 deletions

View File

@ -512,7 +512,7 @@ void sofia_presence_handle_sip_i_subscribe(int status,
char const *phrase, char const *phrase,
nua_t *nua, sofia_profile_t *profile, nua_handle_t *nh, sofia_private_t *sofia_private, sip_t const *sip, tagi_t tags[]); nua_t *nua, sofia_profile_t *profile, nua_handle_t *nh, sofia_private_t *sofia_private, sip_t const *sip, tagi_t tags[]);
void sofia_glue_execute_sql(sofia_profile_t *profile, char **sqlp, switch_bool_t dyn); void sofia_glue_execute_sql(sofia_profile_t *profile, char **sqlp, switch_bool_t sql_already_dynamic);
void sofia_glue_actually_execute_sql(sofia_profile_t *profile, switch_bool_t master, char *sql, switch_mutex_t *mutex); void sofia_glue_actually_execute_sql(sofia_profile_t *profile, switch_bool_t master, char *sql, switch_mutex_t *mutex);
void sofia_reg_check_expire(sofia_profile_t *profile, time_t now); void sofia_reg_check_expire(sofia_profile_t *profile, time_t now);
void sofia_reg_check_gateway(sofia_profile_t *profile, time_t now); void sofia_reg_check_gateway(sofia_profile_t *profile, time_t now);

View File

@ -2487,7 +2487,7 @@ void sofia_glue_sql_close(sofia_profile_t *profile)
} }
void sofia_glue_execute_sql(sofia_profile_t *profile, char **sqlp, switch_bool_t dyn) void sofia_glue_execute_sql(sofia_profile_t *profile, char **sqlp, switch_bool_t sql_already_dynamic)
{ {
switch_status_t status = SWITCH_STATUS_FALSE; switch_status_t status = SWITCH_STATUS_FALSE;
char *d_sql = NULL, *sql; char *d_sql = NULL, *sql;
@ -2496,7 +2496,7 @@ void sofia_glue_execute_sql(sofia_profile_t *profile, char **sqlp, switch_bool_t
sql = *sqlp; sql = *sqlp;
if (profile->sql_queue) { if (profile->sql_queue) {
if (dyn) { if (sql_already_dynamic) {
d_sql = sql; d_sql = sql;
} else { } else {
d_sql = strdup(sql); d_sql = strdup(sql);
@ -2504,19 +2504,19 @@ void sofia_glue_execute_sql(sofia_profile_t *profile, char **sqlp, switch_bool_t
switch_assert(d_sql); switch_assert(d_sql);
status = switch_queue_trypush(profile->sql_queue, d_sql); status = switch_queue_trypush(profile->sql_queue, d_sql);
} else if (sql_already_dynamic) {
d_sql = sql;
} }
if (status == SWITCH_STATUS_SUCCESS) { if (status != SWITCH_STATUS_SUCCESS) {
if (dyn) {
*sqlp = NULL;
}
} else {
if (!dyn) {
switch_safe_free(d_sql);
}
sofia_glue_actually_execute_sql(profile, SWITCH_FALSE, sql, profile->ireg_mutex); sofia_glue_actually_execute_sql(profile, SWITCH_FALSE, sql, profile->ireg_mutex);
} }
switch_safe_free(d_sql);
if (sql_already_dynamic) {
*sqlp = NULL;
}
} }
void sofia_glue_actually_execute_sql(sofia_profile_t *profile, switch_bool_t master, char *sql, switch_mutex_t *mutex) void sofia_glue_actually_execute_sql(sofia_profile_t *profile, switch_bool_t master, char *sql, switch_mutex_t *mutex)