aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2004-09-26 20:42:03 +0000
committermarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2004-09-26 20:42:03 +0000
commit027a1124d3383f1a533f0ffce8a6483ed016d24d (patch)
tree138c9bec12b786f7217c24a45aec06073f392c6b
parentd71b2c725ab24bf8cfc698afd87a9d883969a1ba (diff)
Hold peerl lock while updating autocreatepeer stuff
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@3842 f38db490-d61c-443f-a65b-d21fe96a405b
-rwxr-xr-xchannels/chan_sip.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index 8faa92805..be81665c8 100755
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -4868,8 +4868,10 @@ static int register_verify(struct sip_pvt *p, struct sockaddr_in *sin, struct si
/* Create peer if we have autocreate mode enabled */
peer = temp_peer(name);
if (peer) {
+ ast_mutex_lock(&peerl.lock);
peer->next = peerl.peers;
peerl.peers = peer;
+ ast_mutex_unlock(&peerl.lock);
peer->lastmsgssent = -1;
sip_cancel_destroy(p);
if (parse_contact(p, peer, req)) {