summaryrefslogtreecommitdiff
path: root/loader.c
AgeCommit message (Collapse)Author
2006-05-11remove a now useless debugging message about loading new-style modules.Luigi Rizzo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@26955 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-10remove almost all of the checks of the result from ast_strdupa() or alloca().Russell Bryant
As it turns out, all of these checks were useless, because alloca will never return NULL. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@26451 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-03test commit to ensure the server is happy againKevin P. Fleming
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@24379 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-14fix a mostly harmless error introduced by svn merge.Luigi Rizzo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@20036 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-14This rather large commit changes the way modules are loaded. Luigi Rizzo
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
2006-04-13remove extraneous warning messageKevin P. Fleming
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@19767 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-11remove an unused functionLuigi Rizzo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@19226 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-11remove unused fieldsLuigi Rizzo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@19219 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-08update module license key text and update loader to accept itKevin P. Fleming
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@18574 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-06small cleanups to module.h and loader.c to start playing withLuigi Rizzo
new-style modules using static symbols. Everything will still work as before, but new-style modules can now be defined by putting a '#define STATIC_MODULE' somewhere before including module.h, then declaring STATIC_MODULE the various methods (load, unload, key...) that the module is supposed to supply, and adding a 'STD_MOD(MOD_1, reload_fn, NULL, NULL)' macro call at the end. A module compiled in this way will be loaded RTLD_NOW|RTLD_LOCAL so symbol pollution is reduced, and symbols are resolved immediately. Removing just the '#define STATIC_MODULE' will restore the old behaviour. In order for a module to be loaded RTLD_NOW|RTLD_LOCAL, it must not export any symbol[1], and all the modules it depends on (e.g. res_*) must be loaded already. [1] Mechanisms are in place, and will be enabled later, to still allow such modules to 'export' symbols and resolving the dependencies irrespective of the load order. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@17790 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-02Reduce debugging messages from WARNING to DEBUGTilghman Lesher
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@16922 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-03-28Doxygen fixes Olle Johansson
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@15860 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-03-28Bring in the new loader code as described in mantis #4377Luigi Rizzo
and updated to today's version. The core of the patch is only two files, loader.c and include/asterisk/module.h, with the other files touched only to adapt non-standard usages of the reference counts and localuser lists. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@15784 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-03-25Add micro-http server and abstract manager interface, make snmp not die Mark Spencer
on reload. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@14953 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-03-25revert loader changes that have clearly not undergone adequate testing ↵Kevin P. Fleming
before commit git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@14952 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-03-25Bug 4377 - Round 2 of the loader updatesTilghman Lesher
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@14886 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-02-27conversions to allocation wrappers and various other coding guideliens fixes ↵Russell Bryant
(issue #6582) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@11231 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-02-14Bug 4377 - Initial round of loader changesTilghman Lesher
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@10084 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-18constify arguments in more places where strings should not be modified ↵Russell Bryant
(issue #6286) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@8203 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-18Merged revisions 8162 via svnmerge from Matt O'Gorman
https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ r8162 | mogorman | 2006-01-17 18:47:04 -0600 (Tue, 17 Jan 2006) | 4 lines Changed order of autoload so that pbx_ comes before channels, and in doing so cause bug 6002 to not be an issue ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@8163 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-30update doxygen docs to specify authorsRussell Bryant
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7682 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-04convert most of the option_*'s to a single ast_flags structure. Also, fix someRussell Bryant
formatting, remove some unnecessary casts, and other little code cleanups. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7331 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-29remove extraneous svn:executable propertiesKevin P. Fleming
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7221 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-10-24Doxygen documentation update from oej (issue #5505)Russell Bryant
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6847 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-26use a more generic means to decide whether we need to provide poll/dlfcn ↵Kevin P. Fleming
functionality (issue #5297) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6664 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-09-14update MANY more files with proper copyright/license info (thanks Ian!)Kevin P. Fleming
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6596 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-08-05fix a bunch of gcc4 warnings realted to pointer signednessRussell Bryant
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6290 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-25formatting fixes (bug #4770)Russell Bryant
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6185 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-07make CLI output use singular/plural when appropriate (bug #4654)Kevin P. Fleming
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6047 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-07-05add support for 'early loading' modules, so that nearly all configuration ↵Kevin P. Fleming
files can be read from Realtime storage add warning for when file mapping is found but the engine is not available add warning for trying to map 'logger.conf', since it cannot be reliably mapped git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6034 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-06more file version tagsKevin P. Fleming
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5866 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-06remove experimental module version tagsKevin P. Fleming
add per-file revision tags and 'show version files' CLI command git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5864 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-06clean up module version number outputKevin P. Fleming
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5863 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-06add support for per-module version numbersKevin P. Fleming
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5862 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-06major Makefile and build process improvements, including removal of all ↵Kevin P. Fleming
hardcoded paths (modules must now use run-time paths as they should) (bug #4116) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5855 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-06-03support configurable batch posting of CDRs (off by default) (bug #3883)Kevin P. Fleming
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5823 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-22phase 1 of header include cleanup (bug #4067)Kevin P. Fleming
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5498 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-21use double-quotes instead of angle-brackets for non-system include files ↵Kevin P. Fleming
(bug #4058) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5490 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-04-06*** empty log message ***Kevin P. Fleming
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5431 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-25Merge config updates (bug #3406)Mark Spencer
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4889 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-21update copyright headers for 2005Russell Bryant
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4868 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-16Optimize module loading (bug #3356)Mark Spencer
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4814 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-10Revert loader change now that we do it at runtimeMark Spencer
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4753 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-01-04Load formats first (bug #3242)Mark Spencer
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4664 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-12-27fix logging issueRussell Bryant
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4563 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-17Don't hold modlock while doing reloadMark Spencer
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4276 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-11-13Big agent / queue fixesMark Spencer
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4231 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-16Provide module command completion (make twisted happy)Mark Spencer
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4022 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-14Add option for "show modules like" (bug #2643)Mark Spencer
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3996 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2004-10-08Minor config updates, add module counts (bug #2593)Mark Spencer
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3953 65c4cc65-6c06-0410-ace0-fbb531ad65f3