asterisk/main
Joshua Colp 9e9f3b7609 loader: Ensure dependent modules are properly initialized.
If an Asterisk module specifies a dependency in ast_module_info.nonoptreq, it
is possible for Asterisk to skip calling the modules's .load function.
Asterisk was loading and linking the module via load_dynamic_module() but was
not adding the module to the resource_heap. Therefore the module was not
initialized based on it's priority along with the other modules in the heap.

Now use load_resource() instead of load_dynamic_module() for non-optional
requirement. This will add the module to the resource_heap so the module can
be properly initialized in the correct order.

This is required if there are any module global data structures initialized in
the .load() callback for the module on platforms which do not support weak
references.

(issue ASTERISK-20439)
Reported by: sruffell
Patches:
     0001-loader-Ensure-dependent-modules-are-properly-initial.patch uploaded by sruffell (license 5417)
........

Merged revisions 373909 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 373910 from http://svn.asterisk.org/svn/asterisk/branches/10
........

Merged revisions 373911 from http://svn.asterisk.org/svn/asterisk/branches/11


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@373912 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-09-27 16:53:19 +00:00
..
editline Enable usage of system-provided NetBSD editline library if available. 2012-07-25 12:21:54 +00:00
stdtime Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00
Makefile Fixed make clean when configured --disable-asteriskssl 2012-09-13 20:05:54 +00:00
abstract_jb.c Unit tests for the Jitter Buffer API; remove unnecessary resync 2012-07-23 21:15:26 +00:00
acl.c Doxygen Updates - janitor work 2012-09-21 17:14:59 +00:00
adsi.c Fix crash in unloading of res_adsi module 2012-06-26 13:23:12 +00:00
alaw.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00
aoc.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00
app.c Clean up and ensure proper usage of alloca() 2012-07-31 20:21:43 +00:00
ast_expr2.c Allow the REALTIME() function to report errors back to the caller. 2012-07-11 17:16:50 +00:00
ast_expr2.fl Avoid cppcheck warnings; removing unused vars and a bit of cleanup. 2012-04-17 18:57:40 +00:00
ast_expr2.h Allow the REALTIME() function to report errors back to the caller. 2012-07-11 17:16:50 +00:00
ast_expr2.y Multiple revisions 360356-360357 2012-03-24 02:42:42 +00:00
ast_expr2f.c Doxygen Updates - janitor work 2012-09-21 17:14:59 +00:00
asterisk.c Doxygen Updates Janitor Work 2012-09-22 20:43:30 +00:00
asterisk.dynamics Remove the old stub files, preferring the optional_api method. 2010-07-14 20:48:59 +00:00
asterisk.exports.in Add new config-parsing framework 2012-06-01 16:33:25 +00:00
astfd.c Doxygen Updates Janitor Work 2012-09-22 20:43:30 +00:00
astmm.c Fix MALLOC_DEBUG version of ast_strndup(). 2012-09-07 23:10:05 +00:00
astobj2.c Enhance astobj2 to support other types of containers. 2012-09-12 21:02:29 +00:00
audiohook.c Doxygen Updates Janitor Work 2012-09-22 20:43:30 +00:00
autochan.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00
autoservice.c Hangup handlers - Dialplan subroutines that run when the channel hangs up. 2012-06-29 17:02:32 +00:00
bridging.c Fix bridging thread leak. 2012-07-06 15:31:52 +00:00
buildinfo.c fix a few small things found by using sparse 2008-10-30 16:49:02 +00:00
callerid.c Allow for redirecting reasons to be set to arbitrary strings. 2012-09-25 19:29:14 +00:00
ccss.c Doxygen Updates Janitor Work 2012-09-22 20:43:30 +00:00
cdr.c Clean up doxygen warnings 2012-08-30 14:23:28 +00:00
cel.c Fix compiler warnings. 2012-07-19 22:25:00 +00:00
channel.c Allow for redirecting reasons to be set to arbitrary strings. 2012-09-25 19:29:14 +00:00
channel_internal_api.c Add private representation of caller, connected and redirecting party ids. 2012-08-10 19:54:55 +00:00
chanvars.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00
cli.c Add private representation of caller, connected and redirecting party ids. 2012-08-10 19:54:55 +00:00
config.c Add scoped locks to Asterisk. 2012-08-21 19:04:32 +00:00
config_options.c Prevent crash from using app_page with no confbridge.conf file provided. 2012-09-04 15:35:02 +00:00
cygload.c Kill off red blobs in most of main/* 2012-03-22 19:51:16 +00:00
data.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00
datastore.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00
db.c Clean up and ensure proper usage of alloca() 2012-07-31 20:21:43 +00:00
devicestate.c Deprecate chan_gtalk, chan_jingle, and res_jabber 2012-09-10 19:49:30 +00:00
dial.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00
dns.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00
dnsmgr.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00
dsp.c dsp.c: remove more whitespace mentioned in review2107 2012-09-21 09:11:39 +00:00
ecdisa.h Kill off red blobs in most of main/* 2012-03-22 19:51:16 +00:00
enum.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00
event.c Move event cache updates into event processing thread. 2012-07-31 20:33:57 +00:00
features.c Named call pickup groups. Fixes, missing functionality, and improvements. 2012-09-20 17:22:41 +00:00
file.c Clean up doxygen warnings 2012-08-30 14:23:28 +00:00
fixedjitterbuf.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00
fixedjitterbuf.h Kill off red blobs in most of main/* 2012-03-22 19:51:16 +00:00
format.c Add support for parsing SDP attributes, generating SDP attributes, and passing it through. 2012-07-13 16:49:40 +00:00
format_cap.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00
format_pref.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00
frame.c Rewrite a comment that didn't adequately explain the code it was documenting. 2012-07-24 16:54:26 +00:00
framehook.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00
fskmodem.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00
fskmodem_float.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00
fskmodem_int.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00
global_datastores.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00
hashtab.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00
heap.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00
http.c Doxygen Updates - janitor work 2012-09-21 17:14:59 +00:00
image.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00
indications.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00
io.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00
jitterbuf.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00
libasteriskssl.c Resolve memory leaks in TLS initialization and TLS client connections 2012-09-14 19:53:43 +00:00
libasteriskssl.exports.in Address OpenSSL initialization issues when using third-party libraries. 2012-01-30 21:21:16 +00:00
loader.c loader: Ensure dependent modules are properly initialized. 2012-09-27 16:53:19 +00:00
lock.c Fixes ast_rwlock_timed[rd|wr]lock for BSD and variants. 2012-08-27 16:56:56 +00:00
logger.c Make the casing of CALL_ID in debug messages consistent to satisfy my OCD. 2012-09-18 20:19:49 +00:00
manager.c Doxygen Updates Janitor Work 2012-09-22 20:43:30 +00:00
md5.c md5: supress some compiler warnings. 2012-04-28 01:33:49 +00:00
message.c Fix inability to shutdown gracefully due to an unending channel reference. 2012-09-11 21:17:53 +00:00
named_acl.c Clean up doxygen warnings 2012-08-30 14:23:28 +00:00
netsock.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00
netsock2.c Fix NULL pointer segfault in ast_sockaddr_parse() 2012-06-20 02:07:00 +00:00
pbx.c Doxygen Updates Janitor Work 2012-09-22 20:43:30 +00:00
plc.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00
poll.c Merged revisions 285268 via svnmerge from 2010-09-07 19:09:08 +00:00
presencestate.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00
privacy.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00
rtp_engine.c Add support for DTLS-SRTP to res_rtp_asterisk and chan_sip. 2012-09-20 18:27:28 +00:00
say.c Fix saying of date in Dutch. 2012-09-25 23:10:22 +00:00
sched.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00
security_events.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00
sha1.c Doxygen Updates - janitor work 2012-09-21 17:14:59 +00:00
slinfactory.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00
srv.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00
strcompat.c Clean up and ensure proper usage of alloca() 2012-07-31 20:21:43 +00:00
strings.c Doxygen Updates - janitor work 2012-09-21 17:14:59 +00:00
stun.c When receiving a STUN binding request send one out as the Google Talk client uses this as a method to determine if the remote party is still reachable or not. 2012-07-09 22:38:25 +00:00
syslog.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00
taskprocessor.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00
tcptls.c Resolve memory leaks in TLS initialization and TLS client connections 2012-09-14 19:53:43 +00:00
tdd.c Doxygen Updates - janitor work 2012-09-21 17:14:59 +00:00
term.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00
test.c Tweak unit test warning message. 2012-07-30 23:26:51 +00:00
threadstorage.c Clean up and ensure proper usage of alloca() 2012-07-31 20:21:43 +00:00
timing.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00
translate.c Add support for parsing SDP attributes, generating SDP attributes, and passing it through. 2012-07-13 16:49:40 +00:00
udptl.c Ignore recovered zero-length secondary UDPTL packets 2012-08-20 15:39:15 +00:00
ulaw.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00
utils.c Implement workaround for BETTER_BACKTRACES crash 2012-08-27 14:13:44 +00:00
xml.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00
xmldoc.c Doxygen Updates Janitor Work 2012-09-22 20:43:30 +00:00