]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
execute sql inline to avoid race
authorAnthony Minessale <anthony.minessale@gmail.com>
Mon, 14 Apr 2008 15:07:43 +0000 (15:07 +0000)
committerAnthony Minessale <anthony.minessale@gmail.com>
Mon, 14 Apr 2008 15:07:43 +0000 (15:07 +0000)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@8101 d0543943-73ff-0310-b7d9-9358b9ac24b2

src/mod/endpoints/mod_sofia/sofia_reg.c

index 99694bb4c197bc81d1d4db2a480f08ecca791c78..2011f22968502d8de4b4f2f172c9c465396b0ec3 100644 (file)
@@ -264,19 +264,27 @@ void sofia_reg_check_expire(sofia_profile_t *profile, time_t now)
        } else {
                switch_snprintf(sql, sizeof(sql), "delete from sip_registrations where expires > 0");
        }
-       sofia_glue_execute_sql(profile, &psql, SWITCH_FALSE);
+
+       sofia_glue_actually_execute_sql(profile, SWITCH_FALSE, psql, NULL);
+       switch_safe_free(psql);
+
        if (now) {
                switch_snprintf(sql, sizeof(sql), "delete from sip_authentication where expires > 0 and expires <= %ld", (long) now);
        } else {
                switch_snprintf(sql, sizeof(sql), "delete from sip_authentication where expires > 0");
        }
-       sofia_glue_execute_sql(profile, &psql, SWITCH_FALSE);
+
+       sofia_glue_actually_execute_sql(profile, SWITCH_FALSE, psql, NULL);
+       switch_safe_free(psql);
+       
        if (now) {
                switch_snprintf(sql, sizeof(sql), "delete from sip_subscriptions where expires > 0 and expires <= %ld", (long) now);
        } else {
                switch_snprintf(sql, sizeof(sql), "delete from sip_subscriptions where expires > 0");
        }
-       sofia_glue_execute_sql(profile, &psql, SWITCH_FALSE);
+
+       sofia_glue_actually_execute_sql(profile, SWITCH_FALSE, psql, NULL);
+       switch_safe_free(psql);
 
        if (now) {
                switch_snprintf(sql, sizeof(sql), "select * from sip_registrations where status like '%%NATHACK%%'");