aboutsummaryrefslogtreecommitdiffstats
path: root/channels
diff options
context:
space:
mode:
authormarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2004-06-23 17:41:51 +0000
committermarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2004-06-23 17:41:51 +0000
commitcb8eee8b42a73eaa5c7c746b0deb317b891de9af (patch)
treebd1b4b1c89557fc6a0f8566532b95fc5ca12d287 /channels
parent393905e04482c2b64e7e4d4a271d6e9a594fe527 (diff)
Be sure to hold lock during answer
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@3286 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels')
-rwxr-xr-xchannels/chan_sip.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index ddb4d8a6e..805c571d5 100755
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -1597,7 +1597,7 @@ static int sip_answer(struct ast_channel *ast)
char *codec;
struct sip_pvt *p = ast->pvt->pvt;
-
+ ast_mutex_lock(&p->lock);
if (ast->_state != AST_STATE_UP) {
@@ -1616,6 +1616,7 @@ static int sip_answer(struct ast_channel *ast)
ast_log(LOG_DEBUG, "sip_answer(%s)\n", ast->name);
res = transmit_response_with_sdp(p, "200 OK", &p->initreq, 1);
}
+ ast_mutex_unlock(&p->lock);
return res;
}