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