提交 fbccbd1e authored 作者: Anthony Minessale's avatar Anthony Minessale

fix MODENDP-98

git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@7900 d0543943-73ff-0310-b7d9-9358b9ac24b2
上级 46c7ef16
...@@ -512,7 +512,7 @@ void sofia_presence_handle_sip_i_subscribe(int status, ...@@ -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);
......
...@@ -2487,7 +2487,7 @@ void sofia_glue_sql_close(sofia_profile_t *profile) ...@@ -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 ...@@ -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 ...@@ -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)
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论