[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r31187 - gnunet/src/mesh
From: |
gnunet |
Subject: |
[GNUnet-SVN] r31187 - gnunet/src/mesh |
Date: |
Sun, 8 Dec 2013 23:31:04 +0100 |
Author: grothoff
Date: 2013-12-08 23:31:04 +0100 (Sun, 08 Dec 2013)
New Revision: 31187
Modified:
gnunet/src/mesh/gnunet-service-mesh_channel.c
Log:
-fix #3168, cancel retry task AFTER GMT_cancel, as that triggers a callback in
gnunet-service-mesh-peer.c:952 which may then CREATE a new task
Modified: gnunet/src/mesh/gnunet-service-mesh_channel.c
===================================================================
--- gnunet/src/mesh/gnunet-service-mesh_channel.c 2013-12-08 22:05:57 UTC
(rev 31186)
+++ gnunet/src/mesh/gnunet-service-mesh_channel.c 2013-12-08 22:31:04 UTC
(rev 31187)
@@ -918,12 +918,13 @@
LOG (GNUNET_ERROR_TYPE_DEBUG, " COPYFREE BATCH %p\n", copy);
GNUNET_free (copy);
}
+ if (NULL != rel->uniq && NULL != rel->uniq->q)
+ GMT_cancel (rel->uniq->q);
if (GNUNET_SCHEDULER_NO_TASK != rel->retry_task)
{
GNUNET_SCHEDULER_cancel (rel->retry_task);
+ rel->retry_task = GNUNET_SCHEDULER_NO_TASK;
}
- if (NULL != rel->uniq && NULL != rel->uniq->q)
- GMT_cancel (rel->uniq->q);
GNUNET_free (rel);
}
@@ -1965,6 +1966,7 @@
if (GNUNET_SCHEDULER_NO_TASK != rel->retry_task)
{
GNUNET_SCHEDULER_cancel (rel->retry_task);
+ rel->retry_task = GNUNET_SCHEDULER_NO_TASK;
if (NULL != rel->head_sent && NULL == rel->head_sent->q)
{
struct GNUNET_TIME_Absolute new_target;
@@ -1980,10 +1982,6 @@
&channel_retransmit_message,
rel);
}
- else /* either no more traffic to ack or traffic has just been queued */
- {
- rel->retry_task = GNUNET_SCHEDULER_NO_TASK;
- }
}
else /* work was done but no task was pending? shouldn't happen! */
{
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r31187 - gnunet/src/mesh,
gnunet <=