[svn-commits] russell: branch russell/sched_thread r140404 - /team/russell/sched_thread/cha...

SVN commits to the Digium repositories svn-commits at lists.digium.com
Thu Aug 28 17:10:29 CDT 2008


Author: russell
Date: Thu Aug 28 17:10:28 2008
New Revision: 140404

URL: http://svn.digium.com/view/asterisk?view=rev&rev=140404
Log:
a bit more conversion ...

Modified:
    team/russell/sched_thread/channels/chan_sip.c

Modified: team/russell/sched_thread/channels/chan_sip.c
URL: http://svn.digium.com/view/asterisk/team/russell/sched_thread/channels/chan_sip.c?view=diff&rev=140404&r1=140403&r2=140404
==============================================================================
--- team/russell/sched_thread/channels/chan_sip.c (original)
+++ team/russell/sched_thread/channels/chan_sip.c Thu Aug 28 17:10:28 2008
@@ -9720,16 +9720,19 @@
 			p = dialog_unref(p, "unref dialog after unlink_all");
 			if (r->timeout > -1) {
 				if (sched_thread_del(sched, r->timeout) > -1) {
-					registry_unref(_data, "del for REPLACE of registry ptr"), 
+					registry_unref(r, "del for REPLACE of registry ptr");
 				}
 				r->timeout = sched_thread_add(sched, global_reg_timeout * 1000, sip_reg_timeout, 
 						registry_addref(r, "add"));
 				if (r->timeout == -1) {
-					registry_unref(_data, "sched_add failed"), 
+					registry_unref(r, "sched_add failed");
 				}
 				ast_log(LOG_WARNING, "Still have a registration timeout for %s@%s (create_addr() error), %d\n", r->username, r->hostname, r->timeout);
 			} else {
-				r->timeout = ast_sched_add(sched, global_reg_timeout * 1000, sip_reg_timeout, registry_addref(r, "add for REPLACE registry ptr"));
+				r->timeout = sched_thread_add(sched, global_reg_timeout * 1000, sip_reg_timeout, registry_addref(r, "add for REPLACE registry ptr"));
+				if (r->timeout == -1) {
+					registry_unref(r, "add failed");
+				}
 				ast_log(LOG_WARNING, "Probably a DNS error for registration to %s@%s, trying REGISTER again (after %d seconds)\n", r->username, r->hostname, global_reg_timeout);
 			}
 			r->regattempts++;
@@ -9784,10 +9787,14 @@
 	if (auth == NULL)  {
 		if (r->timeout > -1)
 			ast_log(LOG_WARNING, "Still have a registration timeout, #%d - deleting it\n", r->timeout);
-		AST_SCHED_REPLACE_UNREF(r->timeout, sched, global_reg_timeout * 1000, sip_reg_timeout, r,
-								registry_unref(_data,"reg ptr unrefed from del in SCHED_REPLACE"),
-								registry_unref(r,"reg ptr unrefed from add failure in SCHED_REPLACE"),
-								registry_addref(r,"reg ptr reffed from add in SCHED_REPLACE"));
+		if (!sched_thread_del(sched, r->timeout)) {
+			registry_unref(r, "");
+		}
+		r->timeout = sched_thread_add(sched, global_reg_timeout * 1000, sip_reg_timeout,
+				registry_addref(r, ""));
+		if (r->timeout == -1) {
+			registry_unref(r, "");
+		}
 		ast_debug(1, "Scheduled a registration timeout for %s id  #%d \n", r->hostname, r->timeout);
 	}
 
@@ -10176,7 +10183,8 @@
 	peer->addr.sin_port = htons(port);
 	if (sipsock < 0) {
 		/* SIP isn't up yet, so schedule a poke only, pretty soon */
-		AST_SCHED_REPLACE(peer->pokeexpire, sched, ast_random() % 5000 + 1, sip_poke_peer_s, peer);
+		sched_thread_del(sched, peer->pokeexpire);
+		peer->pokeexpire = sched_thread_add(sched, ast_random() % 5000 + 1, sip_poke_peer_s, peer);
 	} else {
 		sip_poke_peer(peer, 0);
 	}




More information about the svn-commits mailing list