diff options
author | David Vossel <dvossel@digium.com> | 2009-06-09 16:22:04 +0000 |
---|---|---|
committer | David Vossel <dvossel@digium.com> | 2009-06-09 16:22:04 +0000 |
commit | d532cbcd8aaeef681e2e856e5f6e8ddc7c9f819a (patch) | |
tree | 977456b473f32698ff9021a10c7f811501922037 /include/asterisk/module.h | |
parent | f3534a5a67b698a76f438eb00a56d331ca4238bd (diff) |
module load priority
This patch adds the option to give a module a load priority. The value represents the order in which a module's load() function is initialized. The lower the value, the higher the priority. The value is only checked if the AST_MODFLAG_LOAD_ORDER flag is set. If the AST_MODFLAG_LOAD_ORDER flag is not set, the value will never be read and the module will be given the lowest possible priority
on load. Since some modules are reliant on a timing interface, the timing modules have been given a high load priorty.
(closes issue #15191)
Reported by: alecdavis
Tested by: dvossel
Review: https://reviewboard.asterisk.org/r/262/
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@199743 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'include/asterisk/module.h')
-rw-r--r-- | include/asterisk/module.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/include/asterisk/module.h b/include/asterisk/module.h index 3ffe0b7d8..e7aec449f 100644 --- a/include/asterisk/module.h +++ b/include/asterisk/module.h @@ -189,6 +189,7 @@ struct ast_module_user_list; enum ast_module_flags { AST_MODFLAG_DEFAULT = 0, AST_MODFLAG_GLOBAL_SYMBOLS = (1 << 0), + AST_MODFLAG_LOAD_ORDER = (1 << 1), }; struct ast_module_info { @@ -219,6 +220,13 @@ struct ast_module_info { /*! The value of AST_BUILDOPT_SUM when this module was compiled */ const char buildopt_sum[33]; + + /*! This value represents the order in which a module's load() function is initialized. + * The lower this value, the higher the priority. The value is only checked if the + * AST_MODFLAG_LOAD_ORDER flag is set. If the AST_MODFLAG_LOAD_ORDER flag is not set, + * this value will never be read and the module will be given the lowest possible priority + * on load. */ + unsigned char load_pri; }; void ast_module_register(const struct ast_module_info *); |