- cancel SYNACK retry task when forced to SYNACK by an incoming SYN
authorBart Polot <bart@net.in.tum.de>
Sat, 22 Mar 2014 02:58:45 +0000 (02:58 +0000)
committerBart Polot <bart@net.in.tum.de>
Sat, 22 Mar 2014 02:58:45 +0000 (02:58 +0000)
src/mesh/gnunet-service-mesh_channel.c

index 9a81db79eae821943853acbe5f6e23c584cd1c6a..b9e77746b7d92a7a9a2b35b6abbfee36f06cbb77 100644 (file)
@@ -2120,6 +2120,12 @@ GMCH_handle_create (struct MeshTunnel3 *t,
   else
   {
     LOG (GNUNET_ERROR_TYPE_DEBUG, "  duplicate create channel\n");
+    if (GNUNET_SCHEDULER_NO_TASK != ch->dest_rel->retry_task)
+    {
+      /* we were waiting to re-send our 'SYNACK', wait no more! */
+      GNUNET_SCHEDULER_cancel (ch->dest_rel->retry_task);
+      ch->dest_rel->retry_task = GNUNET_SCHEDULER_NO_TASK;
+    }
   }
   send_ack (ch, GNUNET_YES);