Set volatile secure reader initially out-of-sync

Signed-off-by: Marcel Jordense <marcel.jordense@adlinktech.com>
This commit is contained in:
Marcel Jordense 2020-03-10 15:54:10 +01:00 committed by eboasson
parent 9fe51ef3fb
commit f11dd50810
3 changed files with 4 additions and 2 deletions

View file

@ -280,6 +280,8 @@ static bool write_crypto_exchange_message(const struct participant *pp, const dd
nn_participant_generic_message_init(&pmg, &wr->e.guid, seq, dst_pguid, dst_eguid, src_eguid, classid, tokens, NULL); nn_participant_generic_message_init(&pmg, &wr->e.guid, seq, dst_pguid, dst_eguid, src_eguid, classid, tokens, NULL);
nn_participant_generic_message_serialize(&pmg, &data, &len); nn_participant_generic_message_serialize(&pmg, &data, &len);
nn_participant_generic_message_log(gv, &pmg, 0);
/* Get the key value. */ /* Get the key value. */
ddsrt_md5_state_t md5st; ddsrt_md5_state_t md5st;
ddsrt_md5_byte_t digest[16]; ddsrt_md5_byte_t digest[16];

View file

@ -2480,7 +2480,7 @@ static void proxy_writer_add_connection (struct proxy_writer *pwr, struct reader
/* These can change as a consequence of handling data and/or /* These can change as a consequence of handling data and/or
discovery activities. The safe way of dealing with them is to discovery activities. The safe way of dealing with them is to
lock the proxy writer */ lock the proxy writer */
if (is_builtin_entityid (rd->e.guid.entityid, NN_VENDORID_ECLIPSE) && !ddsrt_avl_is_empty (&pwr->readers)) if (is_builtin_entityid (rd->e.guid.entityid, NN_VENDORID_ECLIPSE) && !ddsrt_avl_is_empty (&pwr->readers) && !pwr->filtered)
{ {
/* builtins really don't care about multiple copies or anything */ /* builtins really don't care about multiple copies or anything */
m->in_sync = PRMSS_SYNC; m->in_sync = PRMSS_SYNC;

View file

@ -2300,7 +2300,7 @@ static void handle_regular (struct receiver_state *rst, nn_etime_t tnow, struct
if (rres2 > 0) if (rres2 > 0)
{ {
if (!pwr->deliver_synchronously) if (!pwr->deliver_synchronously)
nn_dqueue_enqueue (pwr->dqueue, &sc, rres2); nn_dqueue_enqueue1 (pwr->dqueue, &wn->rd_guid, &sc, rres2);
else else
deliver_user_data_synchronously (&sc, &wn->rd_guid); deliver_user_data_synchronously (&sc, &wn->rd_guid);
} }