5.12. APIs (Modern C++ API)

5.12.1. [Major] Potential crash when mixing the C and Modern C++ APIs in the same executable

Applications that used the C and modern C++ APIs in the same executable could crash when a DomainParticipant initially created using the C API was used to create a Modern C++ Topic.

This error is now detected and an exception is thrown.

Note that this is an uncommon use case. It has been documented in the Knowledge Base.

[RTI Issue ID CORE-14075]

5.12.2. [Major] DataReader created with builtin topic not automatically destroyed *

A regression in Connext 7.2.0 caused a user-created DataReader for the built-in topic VirtualSubscriptionBuiltinTopicData to not be deleted by its destructor. Calling close() explicitly still worked. The DataReader destructor now works as expected in this case.

[RTI Issue ID CORE-14005]

5.12.4. [Minor] Conversion of invalid Time to integer units caused unexpected behavior

Given a Time object with value Time::invalid(), the conversion to integer units (such as to_microsecs()) caused unexpected behavior.

  • Before Connext 7.2: the operations returned a large integer value.

  • In Connext 7.2: the operations threw an unexpected exception.

These operations now return 0 (zero) when the value is Time::invalid().

[RTI Issue ID CORE-14283]



* This bug does not affect you if you are upgrading from 6.1.x or earlier.