[
https://issues.apache.org/jira/browse/PROTON-1371?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15726322#comment-15726322
]
Andrew Stitcher commented on PROTON-1371:
-----------------------------------------
There is a simliar situation with the {{proton::event_loop::inject}} API. So
this will also need to be fixed.
> proton::container::schedule crashes when mixing different language versions
> ---------------------------------------------------------------------------
>
> Key: PROTON-1371
> URL: https://issues.apache.org/jira/browse/PROTON-1371
> Project: Qpid Proton
> Issue Type: Bug
> Components: cpp-binding
> Affects Versions: 0.14.0
> Reporter: Andrew Stitcher
> Assignee: Andrew Stitcher
> Priority: Blocker
> Fix For: 0.16.0
>
>
> If you have a libqpid-proton-cpp compiled with C\+\+11 and then link to it
> using a C\+\+03 and use the {{proton::container::schedule}} API then the
> application will crash. This is because there is an extra virtual function
> present in the middle of the C\+\+11 vtable compared to the C\+\+03 vtable.
> So that when used from '03 the wrong member function gets called.
> The extra member function is present because of conditional compilation
> dependent on the C\+\+ version doing the compilation.
> This should also be a problem the other way round too, so using a
> libqpid-proton-cpp compiled with C\+\+03 from C\+\+11 will cause there to be
> one fewer entry in the vtable, and using schedule will either get the wrong
> version of schedule or call an entry of the end of the vtable.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]