diff options
author | Christian Grothoff <christian@grothoff.org> | 2011-07-29 09:21:22 +0000 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2011-07-29 09:21:22 +0000 |
commit | 5c97164da0a6b6368d81ef1002d701e6eb949cc5 (patch) | |
tree | cea1abd4ec553ff6c4853b2090ac6f0fa18d76d0 /src | |
parent | 514c38805cbcb82e8805437ae03f77fb1c6f8639 (diff) | |
download | gnunet-5c97164da0a6b6368d81ef1002d701e6eb949cc5.tar.gz gnunet-5c97164da0a6b6368d81ef1002d701e6eb949cc5.zip |
fix
Diffstat (limited to 'src')
-rw-r--r-- | src/nse/gnunet-service-nse.c | 17 |
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 | ||