Endpoint removal causing bad on_data_available callback

1 post / 0 new
Last seen: 6 years 6 months ago
Joined: 11/27/2017
Posts: 1
Endpoint removal causing bad on_data_available callback

I'm using NDDS v4.2e.

I am getting an exception when trying to narrow() a DDSDataReader, given to me in an on_data_available callback. I'm assuming the pointer I am given is bad?! Does narrow() throw an exception (rather than simply return a NULL) if the pointer is wrong? I've been using this on_data_available() callback for years so I'm assuming its okay. Maybe a bit weak coping with this situation.

What I am struggling with is understanding why my on_data_available callback is being called at all by DDS. It occurs when I delete a matching publisher. Looking at the Call Stack within Visual Studio, I'm seeing stack-trace as the attached. It suggests the removal of the end-point is causing the on-data-available call but I cannot be sure its not my programming elsewhere which has corrupted something.

Am I missing a setting to prevent NDDS translating an endpoint removal from causing this callback? Is there such a setting?

Any pointers or help much appreciated. Thanks.



Plain text icon ndds4_2e_stacktrace.txt3.62 KB