register_type on a custom type multiple times fails (shared object)

1 post / 0 new
Last seen: 1 year 2 months ago
Joined: 02/02/2018
Posts: 13
register_type on a custom type multiple times fails (shared object)

Hi, all,

RTI Connext DDS 5.3
Linux (Ubuntu 16.04)
Traditional C++ API
GCC 4.9

Calling register_type on a custom IDL type succeeds the first time, but when called a second time from a shared library, the call fails with the DDS_RETCODE_PRECONDITION_NOT_MET ERROR. Per the documentation, this indicates:

Cannot use the same type_name to register two different DDSTypeSupport with the same DDSDomainParticipant, or else the operation will fail and DDS_RETCODE_PRECONDITION_NOT_MET will be returned.

We are calling register_type with the same participant and the same type_name.

In addition to any help the good forum users might provide, I have a specific question:

What does "two different DDSTypeSupport" mean? What defines two DDSTypeSupport as the same or different?

This has proven to be a vexing problem for us - this is the first time we're restructing some of our applications using shared libraries, and I need to figure out what's going on.

advTHANKSance for your suggestions!

Auris Health