fix MODENDP-98
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@7900 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
parent
46c7ef1686
commit
fbccbd1e23
|
@ -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)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
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)
|
||||||
|
|
Loading…
Reference in New Issue