[Freeswitch-dev] Possible bug in mod_conference.c

Peter Fowler fowlerp at avaya.com
Mon Feb 22 06:45:03 PST 2010


In revision 16249 I am seeing an intermittent problem as follows: 

1) conference is setup to play an alone sound and moh
2) first person calls into the conference
3) very intermittently the "alone" sound if not heard. Instead moh is
played immediately

I have tracked this down to a race condition in mod_conference where the
line 1011 within
conference_thread_run() checks the value of conference->async_fnode at
the same time, on 
a separate thread, conference_add_member() is updating that value via
conference_play_file. 

As a result, intermittently, the alone sound is enqueued but then
immediately "over written" 
by the moh found. 

A possible solution would be to surround the if statement at 1011 with 

switch_mutex_lock(conference->mutex)
...
switch_mutex_unlock(conference->mutex)

Let me know if I should go ahead and enter a Jira and post a patch. 

Peter 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100222/18b9c390/attachment-0001.html 


More information about the FreeSWITCH-dev mailing list