you can do whatever you wish. I was just warning you that nobody has really pushed event binding and unbinding in such a way before which may explain how you uncovered that issue. Usually things that bind stay resident for a long time. 2011/11/28 Karol Golab <karol@tls.pl>
**
Well, I have a Perl script run as part of a dialplan and the script creates an EventConsumer. Thus I have one bind / unbind pair for each connection. Is this somehow wrong / against what the EventConsumer API was planned for? How could I have a single bind/unbind in this case?
As for choosing event socket and C application vs a script - what is the main difference / reason to switch: performance of some other issues? My CPU seems to have some cycles to spare.
Regards, Karol
On 11/28/2011 05:36 PM, Anthony Minessale wrote:
you're probably right but I wonder what you are doing that is binding and unbinding so much? The bind and unbind was designed to be called once when the module is loaded and called again when it exits.
My fear is you are using the embedded scripting event handers in some quick repeating fashion.
I did a commit to flip that case around but I don't encourage you to use embedded scripts for heavy event traffic, that's what event socket is for and if you have the C skills to debug this, you might want to try a C app ;)
2011/11/28 Brian West <brian@freeswitch.org>
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
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-dev mailing list FreeSWITCH-dev@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev http://www.freeswitch.org
-- Anthony Minessale II
FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire
AIM: anthm MSN:anthony_minessale@hotmail.com GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com IRC: irc.freenode.net #freeswitch
FreeSWITCH Developer Conference sip:888@conference.freeswitch.org googletalk:conf+888@conference.freeswitch.org pstn:+19193869900
_________________________________________________________________________ Professional FreeSWITCH Consulting Services:consulting@freeswitch.orghttp://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Serverhttp://www.cudatel.com
Official FreeSWITCH Siteshttp://www.freeswitch.orghttp://wiki.freeswitch.orghttp://www.cluecon.com
FreeSWITCH-dev mailing listFreeSWITCH-dev@lists.freeswitch.orghttp://lists.freeswitch.org/mailman/listinfo/freeswitch-dev UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-devhttp://www.freeswi...
Karol
-- e-mail: Karol.Golab@tls.pl www: http://www.tls.pl signature: not found
company: TLS-Technologie Spółka z ograniczoną odpowiedzialnością z siedzibą w Warszawie przy ul. Polnej 50 00-644; KRS 0000073337 (XII Wydział Gospodarczy KRS); NIP 526-25-78-091; VAT ID PL5262578091; REGON 017349442; kap. zak. 50000,00 zł
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-dev mailing list FreeSWITCH-dev@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev http://www.freeswitch.org
-- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire AIM: anthm MSN:anthony_minessale@hotmail.com GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888@conference.freeswitch.org googletalk:conf+888@conference.freeswitch.org pstn:+19193869900