aboutsummaryrefslogtreecommitdiffstats
path: root/channels/chan_agent.c
diff options
context:
space:
mode:
authormarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2003-08-08 03:01:29 +0000
committermarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2003-08-08 03:01:29 +0000
commit5a6bc4d4fea0fda6eab57a1d6f93833b911fd7f5 (patch)
tree778db8784daab048dcef321ca6c5f7fc1e721fed /channels/chan_agent.c
parenta849faaf4ea9d4e889063111a26613e3ec5c62d4 (diff)
Properly defuse race in chan_local, fix extremely unlikely path for losing lock in chan_agent
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@1276 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels/chan_agent.c')
-rwxr-xr-xchannels/chan_agent.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/channels/chan_agent.c b/channels/chan_agent.c
index 466181cb6..b3ae6f0b8 100755
--- a/channels/chan_agent.c
+++ b/channels/chan_agent.c
@@ -560,6 +560,8 @@ static struct ast_channel *agent_new(struct agent_pvt *p, int state)
tmp->pvt->pvt = NULL;
p->app_sleep_cond = 1;
ast_channel_free( tmp );
+ ast_pthread_mutex_unlock(&p->lock); /* For other thread to read the condition. */
+ ast_pthread_mutex_unlock(&p->app_lock);
return NULL;
}
}