add dds_entity_release counterpart to entity_claim

Signed-off-by: Erik Boasson <eb@ilities.com>
This commit is contained in:
Erik Boasson 2019-04-16 17:07:09 +02:00 committed by eboasson
parent 6227fe00b3
commit 2dd20c4273
5 changed files with 16 additions and 10 deletions

View file

@ -84,6 +84,9 @@ dds_entity_claim (
dds_entity_t hdl, dds_entity_t hdl,
dds_entity **eptr); dds_entity **eptr);
DDS_EXPORT void dds_entity_release (
dds_entity *e);
DDS_EXPORT dds_retcode_t DDS_EXPORT dds_retcode_t
dds_entity_lock( dds_entity_lock(
dds_entity_t hdl, dds_entity_t hdl,

View file

@ -761,6 +761,11 @@ dds_retcode_t dds_entity_claim (dds_entity_t hdl, dds_entity **eptr)
} }
} }
void dds_entity_release (dds_entity *e)
{
dds_handle_release (&e->m_hdllink);
}
dds_retcode_t dds_entity_lock (dds_entity_t hdl, dds_entity_kind_t kind, dds_entity **eptr) dds_retcode_t dds_entity_lock (dds_entity_t hdl, dds_entity_kind_t kind, dds_entity **eptr)
{ {
dds_retcode_t hres; dds_retcode_t hres;
@ -989,7 +994,7 @@ dds_return_t dds_generic_unimplemented_operation_manykinds (dds_entity_t handle,
break; break;
} }
} }
dds_handle_release (&e->m_hdllink); dds_entity_release (e);
return DDS_ERRNO (ret); return DDS_ERRNO (ret);
} }
} }

View file

@ -100,13 +100,11 @@ dds_entity_t dds_get_datareader (dds_entity_t condition)
rdh = DDS_ERRNO (DDS_RETCODE_ILLEGAL_OPERATION); rdh = DDS_ERRNO (DDS_RETCODE_ILLEGAL_OPERATION);
break; break;
} }
dds_handle_release (&e->m_hdllink); dds_entity_release (e);
return rdh; return rdh;
} }
} }
dds_return_t dds_get_mask (dds_entity_t condition, uint32_t *mask) dds_return_t dds_get_mask (dds_entity_t condition, uint32_t *mask)
{ {
dds_entity *entity; dds_entity *entity;

View file

@ -384,7 +384,7 @@ dds_create_reader(
} else { } else {
subscriber = participant_or_subscriber; subscriber = participant_or_subscriber;
} }
dds_handle_release (&p_or_s->m_hdllink); dds_entity_release (p_or_s);
internal_topic = false; internal_topic = false;
t = topic; t = topic;
break; break;
@ -512,7 +512,7 @@ void dds_reader_ddsi2direct (dds_entity_t entity, ddsi2direct_directread_cb_t cb
if (dds_entity_kind (dds_entity) != DDS_KIND_READER) if (dds_entity_kind (dds_entity) != DDS_KIND_READER)
{ {
dds_handle_release (&dds_entity->m_hdllink); dds_entity_release (dds_entity);
return; return;
} }
@ -552,7 +552,7 @@ void dds_reader_ddsi2direct (dds_entity_t entity, ddsi2direct_directread_cb_t cb
ddsrt_mutex_lock (&rd->e.lock); ddsrt_mutex_lock (&rd->e.lock);
} }
ddsrt_mutex_unlock (&rd->e.lock); ddsrt_mutex_unlock (&rd->e.lock);
dds_handle_release (&dds_rd->m_entity.m_hdllink); dds_entity_release (dds_entity);
} }
uint32_t dds_reader_lock_samples (dds_entity_t reader) uint32_t dds_reader_lock_samples (dds_entity_t reader)
@ -613,7 +613,7 @@ dds_entity_t dds_get_subscriber (dds_entity_t entity)
subh = DDS_ERRNO (DDS_RETCODE_ILLEGAL_OPERATION); subh = DDS_ERRNO (DDS_RETCODE_ILLEGAL_OPERATION);
break; break;
} }
dds_handle_release (&e->m_hdllink); dds_entity_release (e);
return subh; return subh;
} }
} }

View file

@ -388,7 +388,7 @@ dds_create_writer(
} else { } else {
publisher = participant_or_publisher; publisher = participant_or_publisher;
} }
dds_handle_release (&p_or_p->m_hdllink); dds_entity_release (p_or_p);
} }
if ((rc = dds_publisher_lock(publisher, &pub)) != DDS_RETCODE_OK) { if ((rc = dds_publisher_lock(publisher, &pub)) != DDS_RETCODE_OK) {
@ -494,7 +494,7 @@ dds_get_publisher(
assert (dds_entity_kind (e->m_parent) == DDS_KIND_PUBLISHER); assert (dds_entity_kind (e->m_parent) == DDS_KIND_PUBLISHER);
pubh = e->m_parent->m_hdllink.hdl; pubh = e->m_parent->m_hdllink.hdl;
} }
dds_handle_release (&e->m_hdllink); dds_entity_release (e);
return pubh; return pubh;
} }
} }