eliminate support for multiple serstatepools: never used and a source of race conditions during shutdown

Signed-off-by: Erik Boasson <eb@ilities.com>
This commit is contained in:
Erik Boasson 2018-07-17 21:38:53 +02:00
parent 520ca47938
commit ed551eecc1
9 changed files with 27 additions and 27 deletions

View file

@ -70,7 +70,7 @@ dds_instance_find(
_In_ const void *data,
_In_ const bool create)
{
serdata_t sd = serialize_key (gv.serpool, topic->m_stopic, data);
serdata_t sd = serialize_key (topic->m_stopic, data);
struct tkmap_instance * inst = dds_tkmap_find (sd, false, create);
ddsi_serdata_unref (sd);
return inst;
@ -419,7 +419,7 @@ dds_instance_lookup(
topic = dds_instance_info_by_hdl (entity);
if (topic) {
sd = serialize_key (gv.serpool, topic->m_stopic, data);
sd = serialize_key (topic->m_stopic, data);
ih = dds_tkmap_lookup (map, sd);
ddsi_serdata_unref (sd);
ret = DDS_RETCODE_OK;

View file

@ -212,9 +212,9 @@ dds_write_impl(
/* Serialize and write data or key */
if (writekey) {
d = serialize_key (gv.serpool, ddsi_wr->topic, data);
d = serialize_key (ddsi_wr->topic, data);
} else {
d = serialize (gv.serpool, ddsi_wr->topic, data);
d = serialize (ddsi_wr->topic, data);
}
/* Set if disposing or unregistering */
@ -287,7 +287,7 @@ dds_writecdr_impl(
/* Serialize and write data or key */
{
serstate_t st = ddsi_serstate_new (gv.serpool, ddsi_wr->topic);
serstate_t st = ddsi_serstate_new (ddsi_wr->topic);
dds_stream_t is;
ddsi_serstate_append_blob(st, 1, sz, cdr);
d = ddsi_serstate_fix(st);

View file

@ -22,8 +22,8 @@ extern "C" {
int serdata_cmp (const struct serdata * a, const struct serdata * b);
uint32_t serdata_hash (const struct serdata *a);
serdata_t serialize (serstatepool_t pool, const struct sertopic * tp, const void * sample);
serdata_t serialize_key (serstatepool_t pool, const struct sertopic * tp, const void * sample);
serdata_t serialize (const struct sertopic * tp, const void * sample);
serdata_t serialize_key (const struct sertopic * tp, const void * sample);
void deserialize_into (void *sample, const struct serdata *serdata);
void free_deserialized (const struct serdata *serdata, void *vx);

View file

@ -18,10 +18,10 @@
#include "ddsi/q_bswap.h"
#include "q__osplser.h"
serdata_t serialize (serstatepool_t pool, const struct sertopic * tp, const void * sample)
serdata_t serialize (const struct sertopic * tp, const void * sample)
{
dds_stream_t os;
serstate_t st = ddsi_serstate_new (pool, tp);
serstate_t st = ddsi_serstate_new (tp);
dds_key_gen ((const dds_topic_descriptor_t*) tp->type, &st->data->v.keyhash, (char*) sample);
dds_stream_from_serstate (&os, st);
dds_stream_write_sample (&os, sample, tp);
@ -58,12 +58,12 @@ int serdata_cmp (const struct serdata *a, const struct serdata *b)
return memcmp (a->v.keyhash.m_hash, b->v.keyhash.m_hash, 16);
}
serdata_t serialize_key (serstatepool_t pool, const struct sertopic * tp, const void * sample)
serdata_t serialize_key (const struct sertopic * tp, const void * sample)
{
serdata_t sd;
dds_stream_t os;
dds_topic_descriptor_t * desc = (dds_topic_descriptor_t*) tp->type;
serstate_t st = ddsi_serstate_new (pool, tp);
serstate_t st = ddsi_serstate_new (tp);
dds_key_gen (desc, &st->data->v.keyhash, (char*) sample);
dds_stream_from_serstate (&os, st);
dds_stream_write_key (&os, sample, desc);