aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2011-07-29 09:21:22 +0000
committerChristian Grothoff <christian@grothoff.org>2011-07-29 09:21:22 +0000
commit5c97164da0a6b6368d81ef1002d701e6eb949cc5 (patch)
treecea1abd4ec553ff6c4853b2090ac6f0fa18d76d0 /src
parent514c38805cbcb82e8805437ae03f77fb1c6f8639 (diff)
downloadgnunet-5c97164da0a6b6368d81ef1002d701e6eb949cc5.tar.gz
gnunet-5c97164da0a6b6368d81ef1002d701e6eb949cc5.zip
fix
Diffstat (limited to 'src')
-rw-r--r--src/nse/gnunet-service-nse.c17
1 files changed, 12 insertions, 5 deletions
diff --git a/src/nse/gnunet-service-nse.c b/src/nse/gnunet-service-nse.c
index 40cc70ec3..f59516e8b 100644
--- a/src/nse/gnunet-service-nse.c
+++ b/src/nse/gnunet-service-nse.c
@@ -573,6 +573,7 @@ transmit_task (void *cls,
573 struct NSEPeerEntry *peer_entry = cls; 573 struct NSEPeerEntry *peer_entry = cls;
574 574
575 peer_entry->transmit_task = GNUNET_SCHEDULER_NO_TASK; 575 peer_entry->transmit_task = GNUNET_SCHEDULER_NO_TASK;
576 GNUNET_assert (NULL == peer_entry->th);
576 peer_entry->th 577 peer_entry->th
577 = GNUNET_CORE_notify_transmit_ready (coreAPI, 578 = GNUNET_CORE_notify_transmit_ready (coreAPI,
578 GNUNET_NO, 579 GNUNET_NO,
@@ -1078,10 +1079,13 @@ handle_p2p_size_estimate(void *cls,
1078 (peer_entry->previous_round == GNUNET_YES) ) 1079 (peer_entry->previous_round == GNUNET_YES) )
1079 peer_entry->previous_round = GNUNET_NO; 1080 peer_entry->previous_round = GNUNET_NO;
1080 /* push back our result now, that peer is spreading bad information... */ 1081 /* push back our result now, that peer is spreading bad information... */
1081 if (peer_entry->transmit_task != GNUNET_SCHEDULER_NO_TASK) 1082 if (NULL == peer_entry->th)
1082 GNUNET_SCHEDULER_cancel (peer_entry->transmit_task); 1083 {
1083 peer_entry->transmit_task = GNUNET_SCHEDULER_add_now (&transmit_task, 1084 if (peer_entry->transmit_task != GNUNET_SCHEDULER_NO_TASK)
1084 peer_entry); 1085 GNUNET_SCHEDULER_cancel (peer_entry->transmit_task);
1086 peer_entry->transmit_task = GNUNET_SCHEDULER_add_now (&transmit_task,
1087 peer_entry);
1088 }
1085 /* Not closer than our most recent message, no need to do work here */ 1089 /* Not closer than our most recent message, no need to do work here */
1086 GNUNET_STATISTICS_update (stats, 1090 GNUNET_STATISTICS_update (stats,
1087 "# flood messages ignored (had closer already)", 1091 "# flood messages ignored (had closer already)",
@@ -1172,7 +1176,10 @@ handle_core_disconnect(void *cls, const struct GNUNET_PeerIdentity *peer)
1172 if (pos->transmit_task != GNUNET_SCHEDULER_NO_TASK) 1176 if (pos->transmit_task != GNUNET_SCHEDULER_NO_TASK)
1173 GNUNET_SCHEDULER_cancel (pos->transmit_task); 1177 GNUNET_SCHEDULER_cancel (pos->transmit_task);
1174 if (pos->th != NULL) 1178 if (pos->th != NULL)
1175 GNUNET_CORE_notify_transmit_ready_cancel (pos->th); 1179 {
1180 GNUNET_CORE_notify_transmit_ready_cancel (pos->th);
1181 pos->th = NULL;
1182 }
1176 GNUNET_free(pos); 1183 GNUNET_free(pos);
1177} 1184}
1178 1185