[Asterisk-code-review] loader: Remove global symbol only startup phase. (asterisk[master])
Richard Mudgett
asteriskteam at digium.com
Wed Jan 17 14:48:55 CST 2018
Richard Mudgett has posted comments on this change. ( https://gerrit.asterisk.org/7986 )
Change subject: loader: Remove global symbol only startup phase.
......................................................................
Patch Set 1:
(1 comment)
> (1 comment)
>
> > (1 comment)
> >
> > I'm concerned that not having global symbol providers loaded
> first
> > will negatively impact OPTIONAL_API consumer modules.
> >
> > If a consumer of OPTIONAL_API functions is loaded before the
> module
> > that exports the OPTIONAL_API symbols then will the consumer
> module
> > only use the stub functions?
>
> In theory but that would require the consumer module to have two
> bugs: incorrect load_pri and lack of requires / optional_modules
> pointing to the provider module.
You cannot know about the load_pri and requires/optional_modules lists until the actual module is loaded. That information is used to execute the module start functions in the correct order and cannot affect OPTIONAL_API linking.
What I'm concerned with here is if the OPTIONAL_API consumer will call the real function or the stub if the module providing the OPTIONAL_API functions is loaded into memory AFTER the consumer is loaded into memory. This is a linking issue not a module start order issue. The OPTIONAL_API behavior may even be platform dependent.
https://gerrit.asterisk.org/#/c/7986/1/main/loader.c
File main/loader.c:
https://gerrit.asterisk.org/#/c/7986/1/main/loader.c@1691
PS1, Line 1691: for (i = 0; !AST_LIST_EMPTY(&load_retries) && i < LOAD_RETRIES; i++) {
: AST_LIST_TRAVERSE_SAFE_BEGIN(&load_retries, order, entry) {
> See https://gerrit.asterisk.org/7987
Heh. I had not started looking at the next patch to see that it was doing what I was thinking about here. :)
--
To view, visit https://gerrit.asterisk.org/7986
To unsubscribe, visit https://gerrit.asterisk.org/settings
Gerrit-Project: asterisk
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I33e3174d67f3b4552d3d536326dcaf0ebabb097d
Gerrit-Change-Number: 7986
Gerrit-PatchSet: 1
Gerrit-Owner: Corey Farrell <git at cfware.com>
Gerrit-Reviewer: Corey Farrell <git at cfware.com>
Gerrit-Reviewer: Jenkins2
Gerrit-Reviewer: Richard Mudgett <rmudgett at digium.com>
Gerrit-Comment-Date: Wed, 17 Jan 2018 20:48:55 +0000
Gerrit-HasComments: Yes
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-code-review/attachments/20180117/9198f880/attachment-0001.html>
More information about the asterisk-code-review
mailing list