From ad22adb15a0c895ac9c25d4c289abf86355a4737 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Thu, 16 Feb 2017 14:54:14 +0100 Subject: [PATCH] cancel existing last_control_qe handle before scheduling a new one, always --- src/cadet/gnunet-service-cadet-new_channel.c | 6 ++++-- src/util/mq.c | 3 ++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/cadet/gnunet-service-cadet-new_channel.c b/src/cadet/gnunet-service-cadet-new_channel.c index 6df6c24cd..fe3faef5a 100644 --- a/src/cadet/gnunet-service-cadet-new_channel.c +++ b/src/cadet/gnunet-service-cadet-new_channel.c @@ -566,6 +566,8 @@ send_channel_open (void *cls) msgcc.port = ch->port; msgcc.ctn = ch->ctn; ch->state = CADET_CHANNEL_OPEN_SENT; + if (NULL != ch->last_control_qe) + GCT_send_cancel (ch->last_control_qe); ch->last_control_qe = GCT_send (ch->t, &msgcc.header, &channel_open_sent_cb, @@ -801,13 +803,13 @@ send_channel_data_ack (struct CadetChannel *ch) msg.ctn = ch->ctn; msg.mid.mid = htonl (ntohl (ch->mid_recv.mid)); msg.futures = GNUNET_htonll (ch->mid_futures); - if (NULL != ch->last_control_qe) - GCT_send_cancel (ch->last_control_qe); LOG (GNUNET_ERROR_TYPE_DEBUG, "Sending DATA_ACK %u:%llX via %s\n", (unsigned int) ntohl (msg.mid.mid), (unsigned long long) ch->mid_futures, GCCH_2s (ch)); + if (NULL != ch->last_control_qe) + GCT_send_cancel (ch->last_control_qe); ch->last_control_qe = GCT_send (ch->t, &msg.header, &send_ack_cb, diff --git a/src/util/mq.c b/src/util/mq.c index bd7ad7c47..265e4744b 100644 --- a/src/util/mq.c +++ b/src/util/mq.c @@ -730,7 +730,8 @@ server_client_send_impl (struct GNUNET_MQ_Handle *mq, state->th = GNUNET_SERVER_notify_transmit_ready (state->client, ntohs (msg->size), GNUNET_TIME_UNIT_FOREVER_REL, - &transmit_queued, mq); + &transmit_queued, + mq); } -- 2.25.1