[asterisk-bugs] [JIRA] (ASTERISK-22296) ARI fails to find symbols for res_http_websockets

David M. Lee (JIRA) noreply at issues.asterisk.org
Fri Aug 23 13:25:03 CDT 2013


    [ https://issues.asterisk.org/jira/browse/ASTERISK-22296?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=209547#comment-209547 ] 

David M. Lee commented on ASTERISK-22296:
-----------------------------------------

This appears to be an issue with the order in which modules are loaded with dlopen().

When Asterisk loads modules, it first goes through and calls {{dlopen()}} to load all the modules that it knows that it needs. Then, in a second phase, it initializes them in the order specified by the module's {{load_pri}}.

Optional API functions are resolved in {{\_\_constructor\_\_}} functions, which are executed during the {{dlopen()}}. 

If res_ari.so happens to be loaded before res_http_websocket.so, then the {{ast_websocket_*()}} functions will be stubbed out.

I'm going to see if there's a not-awful way to get optional API function references to refresh as modules are loaded and unloaded.
                
> ARI fails to find symbols for res_http_websockets
> -------------------------------------------------
>
>                 Key: ASTERISK-22296
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-22296
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Resources/res_http_websocket
>    Affects Versions: 12
>         Environment: CentOS 6
> gcc 4.4
>            Reporter: Matt Jordan
>            Assignee: David M. Lee
>              Labels: Asterisk12
>
> When running on a CentOS 6 VM using gcc 4.4, ARI fails to use the {{res_http_websockets}} module. When it attempts to use the function 
> {{int AST_OPTIONAL_API_NAME(ast_websocket_set_nonblock)(struct ast_websocket *session)}} in {{ari_websockets.c}}, it simply returns {{-1}}.
> Note that gcc 4.4 stated that it did not support the extensions that optional API depends on.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.asterisk.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira



More information about the asterisk-bugs mailing list