This rather large commit changes the way modules are loaded.
authorLuigi Rizzo <rizzo@icir.org>
Fri, 14 Apr 2006 14:08:19 +0000 (14:08 +0000)
committerLuigi Rizzo <rizzo@icir.org>
Fri, 14 Apr 2006 14:08:19 +0000 (14:08 +0000)
commite43bc6634dc60ca897a848ca3301f52c74330279
treeb68f48482e463e9c31126b2e3e24fca1dd2f6c82
parent33a3a7375a4917455495c08c8602bfe453580fd1
This rather large commit changes the way modules are loaded.

As partly documented in loader.c and include/asterisk/module.h,
modules are now expected to return all of their methods and flags
into a structure 'mod_data', and are normally loaded with RTLD_NOW
| RTLD_LOCAL, so symbols are resolved immediately and conflicts
should be less likely.  Only in a small number of cases (res_*,
typically) modules are loaded RTLD_GLOBAL, so they can export
symbols.

The core of the change is only the two files loader.c and
include/asterisk/module.h, all the rest is simply adaptation of the
existing modules to the new API, a rather mechanical (but believe
me, time and finger-consuming!) process whose detail you can figure
out by svn diff'ing any single module.

Expect some minor compilation issue after this change, please
report it on mantis http://bugs.digium.com/view.php?id=6968
so we collect all the feedback in one place.

I am just sorry that this change missed SVN version number 20000!

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@20003 65c4cc65-6c06-0410-ace0-fbb531ad65f3
162 files changed:
apps/app_adsiprog.c
apps/app_alarmreceiver.c
apps/app_amd.c
apps/app_authenticate.c
apps/app_cdr.c
apps/app_chanisavail.c
apps/app_channelredirect.c
apps/app_chanspy.c
apps/app_controlplayback.c
apps/app_db.c
apps/app_dial.c
apps/app_dictate.c
apps/app_directed_pickup.c
apps/app_directory.c
apps/app_disa.c
apps/app_dumpchan.c
apps/app_echo.c
apps/app_exec.c
apps/app_externalivr.c
apps/app_festival.c
apps/app_flash.c
apps/app_forkcdr.c
apps/app_getcpeid.c
apps/app_hasnewvoicemail.c
apps/app_ices.c
apps/app_image.c
apps/app_ivrdemo.c
apps/app_lookupblacklist.c
apps/app_lookupcidname.c
apps/app_macro.c
apps/app_meetme.c
apps/app_milliwatt.c
apps/app_mixmonitor.c
apps/app_morsecode.c
apps/app_mp3.c
apps/app_nbscat.c
apps/app_osplookup.c
apps/app_page.c
apps/app_parkandannounce.c
apps/app_playback.c
apps/app_privacy.c
apps/app_queue.c
apps/app_random.c
apps/app_read.c
apps/app_readfile.c
apps/app_realtime.c
apps/app_record.c
apps/app_rpt.c
apps/app_sayunixtime.c
apps/app_senddtmf.c
apps/app_sendtext.c
apps/app_setcallerid.c
apps/app_setcdruserfield.c
apps/app_settransfercapability.c
apps/app_skel.c
apps/app_sms.c
apps/app_softhangup.c
apps/app_speech_utils.c
apps/app_stack.c
apps/app_system.c
apps/app_talkdetect.c
apps/app_test.c
apps/app_transfer.c
apps/app_url.c
apps/app_userevent.c
apps/app_verbose.c
apps/app_voicemail.c
apps/app_waitforring.c
apps/app_waitforsilence.c
apps/app_while.c
apps/app_zapateller.c
apps/app_zapbarge.c
apps/app_zapras.c
apps/app_zapscan.c
asterisk.c
cdr.c
cdr/cdr_csv.c
cdr/cdr_custom.c
cdr/cdr_manager.c
channels/chan_agent.c
channels/chan_features.c
channels/chan_iax2.c
channels/chan_local.c
channels/chan_mgcp.c
channels/chan_oss.c
channels/chan_phone.c
channels/chan_sip.c
channels/chan_skinny.c
channels/chan_zap.c
cli.c
codecs/codec_a_mu.c
codecs/codec_adpcm.c
codecs/codec_alaw.c
codecs/codec_g723_1.c
codecs/codec_g726.c
codecs/codec_gsm.c
codecs/codec_ilbc.c
codecs/codec_lpc10.c
codecs/codec_speex.c
codecs/codec_ulaw.c
file.c
formats/format_g723.c
formats/format_g726.c
formats/format_g729.c
formats/format_gsm.c
formats/format_h263.c
formats/format_h264.c
formats/format_ilbc.c
formats/format_jpeg.c
formats/format_ogg_vorbis.c
formats/format_pcm.c
formats/format_sln.c
formats/format_vox.c
formats/format_wav.c
formats/format_wav_gsm.c
funcs/func_base64.c
funcs/func_callerid.c
funcs/func_cdr.c
funcs/func_channel.c
funcs/func_curl.c
funcs/func_cut.c
funcs/func_db.c
funcs/func_enum.c
funcs/func_env.c
funcs/func_groupcount.c
funcs/func_language.c
funcs/func_logic.c
funcs/func_math.c
funcs/func_md5.c
funcs/func_moh.c
funcs/func_odbc.c
funcs/func_rand.c
funcs/func_sha1.c
funcs/func_strings.c
funcs/func_timeout.c
funcs/func_uri.c
include/asterisk.h
include/asterisk/file.h
include/asterisk/module.h
include/asterisk/translate.h
loader.c
pbx/pbx_ael.c
pbx/pbx_config.c
pbx/pbx_dundi.c
pbx/pbx_loopback.c
pbx/pbx_realtime.c
pbx/pbx_spool.c
res/res_adsi.c
res/res_agi.c
res/res_clioriginate.c
res/res_config_odbc.c
res/res_config_pgsql.c
res/res_convert.c
res/res_crypto.c
res/res_features.c
res/res_indications.c
res/res_monitor.c
res/res_musiconhold.c
res/res_odbc.c
res/res_smdi.c
res/res_speech.c
translate.c