Moved thread_state_awake in dds_unregister_instance_ih_ts.
Signed-off-by: Martin Bremmer <martin.bremmer@adlinktech.com>
This commit is contained in:
parent
3574ac6903
commit
2c31e4aa46
2 changed files with 32 additions and 2 deletions
|
@ -241,12 +241,11 @@ dds_unregister_instance_ih_ts(
|
|||
if (wr->m_entity.m_qos) {
|
||||
dds_qget_writer_data_lifecycle (wr->m_entity.m_qos, &autodispose);
|
||||
}
|
||||
thread_state_awake (ts1);
|
||||
if (autodispose) {
|
||||
dds_instance_remove (wr->m_topic, NULL, handle);
|
||||
action |= DDS_WR_DISPOSE_BIT;
|
||||
}
|
||||
|
||||
thread_state_awake (ts1);
|
||||
tk = ddsi_tkmap_find_by_id (gv.m_tkmap, handle);
|
||||
if (tk) {
|
||||
struct ddsi_sertopic *tp = wr->m_topic->m_stopic;
|
||||
|
|
|
@ -609,6 +609,37 @@ CU_Test(ddsc_unregister_instance_ih_ts, unregistering_past_sample, .init=unregis
|
|||
}
|
||||
/*************************************************************************************************/
|
||||
|
||||
/*************************************************************************************************/
|
||||
CU_Test(ddsc_unregister_instance_ih_ts, unregistering_instance)
|
||||
{
|
||||
Space_Type1 testData = { 0, 22, 22 };
|
||||
dds_instance_handle_t ih = 0;
|
||||
dds_return_t ret;
|
||||
char name[100];
|
||||
|
||||
/* Create a writer that WILL automatically dispose unregistered samples. */
|
||||
g_participant = dds_create_participant(DDS_DOMAIN_DEFAULT, NULL, NULL);
|
||||
CU_ASSERT_FATAL(g_participant > 0);
|
||||
g_topic = dds_create_topic(g_participant, &Space_Type1_desc, create_topic_name("ddsc_unregistering_instance_test", name, 100), NULL, NULL);
|
||||
CU_ASSERT_FATAL(g_topic > 0);
|
||||
g_writer = dds_create_writer(g_participant, g_topic, NULL, NULL);
|
||||
CU_ASSERT_FATAL(g_writer > 0);
|
||||
|
||||
/* Register the instance. */
|
||||
ret = dds_register_instance(g_writer, &ih, &testData);
|
||||
CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_OK);
|
||||
CU_ASSERT_NOT_EQUAL_FATAL(ih, DDS_HANDLE_NIL);
|
||||
|
||||
/* Unregister the instance. */
|
||||
ret = dds_unregister_instance_ih_ts(g_writer, ih, dds_time());
|
||||
CU_ASSERT_EQUAL_FATAL(ret, DDS_RETCODE_OK);
|
||||
|
||||
dds_delete(g_writer);
|
||||
dds_delete(g_topic);
|
||||
dds_delete(g_participant);
|
||||
}
|
||||
/*************************************************************************************************/
|
||||
|
||||
/*************************************************************************************************/
|
||||
CU_Test(ddsc_unregister_instance, dispose_unregistered_sample, .init=unregistering_init, .fini=unregistering_fini)
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue