From c27c435bd9bb41e3c8fa4facc330475ea86ec750 Mon Sep 17 00:00:00 2001 From: markster Date: Wed, 16 Jul 2003 18:54:16 +0000 Subject: Fix race in agent/masquerade git-svn-id: http://svn.digium.com/svn/asterisk/trunk@1196 f38db490-d61c-443f-a65b-d21fe96a405b --- channels/chan_agent.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'channels/chan_agent.c') diff --git a/channels/chan_agent.c b/channels/chan_agent.c index 77a8ba10e..cf6e3b362 100755 --- a/channels/chan_agent.c +++ b/channels/chan_agent.c @@ -634,8 +634,10 @@ static int check_availability(struct agent_pvt *newlyavailable, int needlock) ast_setstate(chan, AST_STATE_UP); /* Go ahead and mark the channel as a zombie so that masquerade will destroy it for us, and we need not call ast_hangup */ + ast_pthread_mutex_lock(&parent->lock); chan->zombie = 1; ast_channel_masquerade(parent, chan); + ast_pthread_mutex_unlock(&parent->lock); p->abouttograb = 0; } else { ast_log(LOG_DEBUG, "Sneaky, parent disappeared in the mean time...\n"); -- cgit v1.2.3