[svn-commits] russell: branch russell/1.8-docdir r294737 - in /team/russell/1.8-docdir: ./ ...

SVN commits to the Digium repositories svn-commits at lists.digium.com
Thu Nov 11 16:06:47 CST 2010


Author: russell
Date: Thu Nov 11 16:06:43 2010
New Revision: 294737

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=294737
Log:
sync with 1.8 branch

Modified:
    team/russell/1.8-docdir/   (props changed)
    team/russell/1.8-docdir/channels/chan_sip.c

Propchange: team/russell/1.8-docdir/
------------------------------------------------------------------------------
Binary property 'branch-1.6.2-merged' - no diff available.

Propchange: team/russell/1.8-docdir/
------------------------------------------------------------------------------
--- svnmerge-integrated (original)
+++ svnmerge-integrated Thu Nov 11 16:06:43 2010
@@ -1,1 +1,1 @@
-/branches/1.8:1-294729
+/branches/1.8:1-294736

Modified: team/russell/1.8-docdir/channels/chan_sip.c
URL: http://svnview.digium.com/svn/asterisk/team/russell/1.8-docdir/channels/chan_sip.c?view=diff&rev=294737&r1=294736&r2=294737
==============================================================================
--- team/russell/1.8-docdir/channels/chan_sip.c (original)
+++ team/russell/1.8-docdir/channels/chan_sip.c Thu Nov 11 16:06:43 2010
@@ -2627,6 +2627,9 @@
 static int peer_is_marked(void *peerobj, void *arg, int flags)
 {
 	struct sip_peer *peer = peerobj;
+	if (peer->the_mark && peer->pokeexpire != -1) {
+		AST_SCHED_DEL(sched, peer->pokeexpire);
+	}
 	return peer->the_mark ? CMP_MATCH : 0;
 }
 
@@ -12779,11 +12782,22 @@
 static int sip_poke_peer_s(const void *data)
 {
 	struct sip_peer *peer = (struct sip_peer *)data;
+	struct sip_peer *foundpeer;
 
 	peer->pokeexpire = -1;
 
+	foundpeer = ao2_find(peers, peer, OBJ_POINTER);
+	if (!foundpeer) {
+		unref_peer(peer, "removing poke peer ref");
+		return 0;
+	} else if (foundpeer->name != peer->name) {
+		unref_peer(foundpeer, "removing above peer ref");
+		unref_peer(peer, "removing poke peer ref");
+		return 0;
+	}
+
+	unref_peer(foundpeer, "removing above peer ref");
 	sip_poke_peer(peer, 0);
-
 	unref_peer(peer, "removing poke peer ref");
 
 	return 0;




More information about the svn-commits mailing list