Matthew Jordan wrote:
On Sun, Nov 2, 2014 at 3:29 PM, Matthew Jordan<mjor...@digium.com>  wrote:
On Sun, Nov 2, 2014 at 1:27 AM, Corey Farrell<g...@cfware.com>  wrote:
If it's possible for apps_registry to be NULL then it's possible for the
condition to race.  Maybe we need to use AO2_GLOBAL_OBJ_STATIC?  Could this
issue apply to the other global containers in this module (app_controls,
app_bridges, app_bridges_moh, app_bridges_playback)?

I haven't been able to trigger a crash with anything else. I'm
hesitant to pull out AO2_GLOBAL_OBJ_STATIC, simply because it adds a
reasonable chunk of overhead on a container that should never be NULL
unless you are in the middle of an unload operation.


I thought about this some more this weekend, and I think you're
actually right. Really, all of the global containers here should be
protected in some fashion by an AO2_GLOBAL_OBJ_STATIC.

AO2_GLOBAL_OBJ_STATIC uses a read/write lock and the time it's accessed should be relatively small enough that meh - penalty shouldn't be that bad for this sorta stuff. That was my personal concern when I saw you mention that.

--
Joshua Colp
Digium, Inc. | Senior Software Developer
445 Jan Davis Drive NW - Huntsville, AL 35806 - US
Check us out at: www.digium.com & www.asterisk.org

--
_____________________________________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
  http://lists.digium.com/mailman/listinfo/asterisk-dev

Reply via email to