Avoiding Deadlock

git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3949 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
Anthony Minessale 2007-01-12 00:15:21 +00:00
parent 03f2a4ad7b
commit 4c9da6fa4d
1 changed files with 0 additions and 4 deletions

View File

@ -654,7 +654,6 @@ static void *SWITCH_THREAD_FUNC conference_thread_run(switch_thread_t *thread, v
ready = 0;
/* Read one frame of audio from each member channel and save it for redistribution */
switch_thread_rwlock_rdlock(conference->member_rwlock);
for (imember = conference->members; imember; imember = imember->next) {
if (imember->buflen) {
memset(imember->frame, 255, imember->buflen);
@ -693,7 +692,6 @@ static void *SWITCH_THREAD_FUNC conference_thread_run(switch_thread_t *thread, v
}
switch_mutex_unlock(imember->audio_in_mutex);
}
switch_thread_rwlock_unlock(conference->member_rwlock);
/* If a file or speech event is being played */
if (conference->fnode) {
/* Lead in time */
@ -726,7 +724,6 @@ static void *SWITCH_THREAD_FUNC conference_thread_run(switch_thread_t *thread, v
if (ready) {
/* Build a muxed frame for every member that contains the mixed audio of everyone else */
switch_thread_rwlock_rdlock(conference->member_rwlock);
for (omember = conference->members; omember; omember = omember->next) {
omember->len = bytes;
if (conference->fnode) {
@ -785,7 +782,6 @@ static void *SWITCH_THREAD_FUNC conference_thread_run(switch_thread_t *thread, v
}
}
}
switch_thread_rwlock_unlock(conference->member_rwlock);
/* Go back and write each member his dedicated copy of the audio frame that does not contain his own audio. */
for (imember = conference->members; imember; imember = imember->next) {