You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "ASF GitHub Bot (Jira)" <ji...@apache.org> on 2022/01/28 13:45:00 UTC
[jira] [Commented] (DISPATCH-2272) Mark all functions called from Python with QD_EXPORT
[ https://issues.apache.org/jira/browse/DISPATCH-2272?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17483786#comment-17483786 ]
ASF GitHub Bot commented on DISPATCH-2272:
------------------------------------------
jiridanek commented on pull request #1413:
URL: https://github.com/apache/qpid-dispatch/pull/1413#issuecomment-1024238237
> > @kgiusti that we'd need devs to be consistent with the use of the new QD_EXPORT qualifier when adding/modifying new declarations in the codebase.
>
> Yes, that is true. There is a chunk of code in dispatch which IMO tries to resolve all C functions during startup to discover any possible issues. There are functions missing here, mostly things added for protocol adaptors.
>
> https://github.com/apache/qpid-dispatch/blob/main/python/qpid_dispatch_internal/dispatch.py#L51-L79
For example, `qd_entity_refresh_allocator` is not in the list above, where function signatures get configured. It is not immediately obvious from grepping the codebase this gets called from Python, because the function name is computed at runtime:
```python
fname = "qd_entity_refresh_" + entity_type.short_name.replace('.', '_')
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
> Mark all functions called from Python with QD_EXPORT
> ----------------------------------------------------
>
> Key: DISPATCH-2272
> URL: https://issues.apache.org/jira/browse/DISPATCH-2272
> Project: Qpid Dispatch
> Issue Type: Sub-task
> Affects Versions: 1.17.0
> Reporter: Jiri Daněk
> Priority: Major
>
> Dispatch requires that all C functions it calls be exported, because it looks them up as if in a dynamic library. This is important on Windows, where functions are unexported by default.
> On Windows, use {{__declspec(dllexport)}} to turn on exporting. Without it, the functions will not be found from Python.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org