add dds_entity_release counterpart to entity_claim
Signed-off-by: Erik Boasson <eb@ilities.com>
This commit is contained in:
parent
6227fe00b3
commit
2dd20c4273
5 changed files with 16 additions and 10 deletions
|
@ -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,
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue