[Freeswitch-dev] Possible deadlock in src/switch_event.c ?
Brian West
brian at freeswitch.org
Mon Nov 28 19:27:06 MSK 2011
Please post it to jira.freeswitch.org
/b
On Nov 28, 2011, at 2:31 AM, Karol Golab wrote:
>
> Hi!
>
> I've noticed some strange code in src/switch_event.c - could someone
> smarter (& knowing the mentioned code) please take a look?
>
> The problem is in the order of calls to locks BLOCK & RWLOCK - it
> differs between functions:
>
> switch_event_bind_removable
> switch_mutex_lock(BLOCK);
> switch_thread_rwlock_wrlock(RWLOCK);
>
> switch_event_unbind_callback
> switch_thread_rwlock_wrlock(RWLOCK);
> switch_mutex_lock(BLOCK);
>
> switch_event_unbind
> switch_thread_rwlock_wrlock(RWLOCK);
> switch_mutex_lock(BLOCK);
>
> As I understand this may lead to an outright deadlock between bind
> and unbind.
>
> I stumbled upon this code while debugging what seems like deadlocks
> in our test FS installation put under some heavy load. The load is about
> 25 new event subscribers per second (destroyed few seconds later) and
> about 700 events per second.
>
> Regards,
> Karol
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20111128/d48e1d80/attachment.html
Join us at ClueCon 2011 Aug 9-11, 2011
More information about the FreeSWITCH-dev
mailing list