diff options
author | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2004-08-31 21:55:19 +0000 |
---|---|---|
committer | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2004-08-31 21:55:19 +0000 |
commit | 6750fc777dfcde0042d5e8c12b96640b921da014 (patch) | |
tree | 84ccc92bb0b806b60c8199433e96d35e4e63c745 /rtp.c | |
parent | b9b32e317212381e535144c43abf443e5f5ac037 (diff) |
Grab each lock individually...
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@3701 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'rtp.c')
-rwxr-xr-x | rtp.c | 6 |
1 files changed, 5 insertions, 1 deletions
@@ -1327,7 +1327,11 @@ int ast_rtp_bridge(struct ast_channel *c0, struct ast_channel *c1, int flags, st if (flags & (AST_BRIDGE_DTMF_CHANNEL_0 | AST_BRIDGE_DTMF_CHANNEL_1)) return -2; ast_mutex_lock(&c0->lock); - ast_mutex_lock(&c1->lock); + while(ast_mutex_trylock(&c1->lock)) { + ast_mutex_unlock(&c0->lock); + usleep(1); + ast_mutex_lock(&c0->lock); + } pr0 = get_proto(c0); pr1 = get_proto(c1); if (!pr0) { |