5.14. APIs (Python)

5.14.1. [Critical] Potential deadlock in applications that call certain APIs and use Entity Listeners

Applications that installed an Entity Listener (for example, with DataReader.set_listener) and called certain APIs may have deadlocked. The affected APIs were the following three properties: Entity.status_changes , Condition.trigger_value, and DataWriter.matched_subscriptions_locators.

[RTI Issue ID PY-114]

5.14.2. [Minor] Possible memory leak in DynamicData.loan_value

The DynamicData method loan_value may have leaked memory when the argument to loan_value was a nested field name as shown in this example:

dynamic_data.loan_value("foo.bar")

Using index numbers or non-nested names, such as “foo,” as the argument didn’t cause the leak.

[RTI Issue ID PY-133]

5.14.3. [Minor] Converting a SampleInfo object to string failed when source_timestamp was invalid

Given a SampleInfo object info, calling str(info) threw an exception if info.source_timestamp.sec < 0 or info.source_timestamp == Time.invalid.

Now str(info) will simply omit the source_timestamp when it’s invalid.

[RTI Issue ID PY-154]

5.14.4. [Minor] Some functions didn’t allow keyword arguments

The following functions in the Python API didn’t support keyword arguments: DataTag.set, Logger.verbosity_by_category, Logger.output_file and TopicQuery.find. They now allow them.

[RTI Issue ID PY-143]