aboutsummaryrefslogtreecommitdiff
path: root/src/transport/transport_api_blacklist.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/transport/transport_api_blacklist.c')
-rw-r--r--src/transport/transport_api_blacklist.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/transport/transport_api_blacklist.c b/src/transport/transport_api_blacklist.c
index b1c536a9d..be52623bb 100644
--- a/src/transport/transport_api_blacklist.c
+++ b/src/transport/transport_api_blacklist.c
@@ -145,6 +145,7 @@ transmit_blacklist_init (void *cls, size_t size, void *buf)
145 struct GNUNET_TRANSPORT_Blacklist *br = cls; 145 struct GNUNET_TRANSPORT_Blacklist *br = cls;
146 struct GNUNET_MessageHeader req; 146 struct GNUNET_MessageHeader req;
147 147
148 br->th = NULL;
148 if (buf == NULL) 149 if (buf == NULL)
149 { 150 {
150 reconnect (br); 151 reconnect (br);
@@ -153,7 +154,6 @@ transmit_blacklist_init (void *cls, size_t size, void *buf)
153 req.size = htons (sizeof (struct GNUNET_MessageHeader)); 154 req.size = htons (sizeof (struct GNUNET_MessageHeader));
154 req.type = htons (GNUNET_MESSAGE_TYPE_TRANSPORT_BLACKLIST_INIT); 155 req.type = htons (GNUNET_MESSAGE_TYPE_TRANSPORT_BLACKLIST_INIT);
155 memcpy (buf, &req, sizeof (req)); 156 memcpy (buf, &req, sizeof (req));
156 br->th = NULL;
157 receive (br); 157 receive (br);
158 return sizeof (req); 158 return sizeof (req);
159} 159}
@@ -194,6 +194,7 @@ transmit_blacklist_reply (void *cls, size_t size, void *buf)
194 struct GNUNET_TRANSPORT_Blacklist *br = cls; 194 struct GNUNET_TRANSPORT_Blacklist *br = cls;
195 struct BlacklistMessage req; 195 struct BlacklistMessage req;
196 196
197 br->th = NULL;
197 if (buf == NULL) 198 if (buf == NULL)
198 { 199 {
199 reconnect (br); 200 reconnect (br);
@@ -218,6 +219,7 @@ transmit_blacklist_reply (void *cls, size_t size, void *buf)
218static void 219static void
219reply (struct GNUNET_TRANSPORT_Blacklist *br) 220reply (struct GNUNET_TRANSPORT_Blacklist *br)
220{ 221{
222 GNUNET_assert (br->th == NULL);
221 br->th = 223 br->th =
222 GNUNET_CLIENT_notify_transmit_ready (br->client, 224 GNUNET_CLIENT_notify_transmit_ready (br->client,
223 sizeof (struct BlacklistMessage), 225 sizeof (struct BlacklistMessage),
@@ -261,6 +263,7 @@ GNUNET_TRANSPORT_blacklist (const struct GNUNET_CONFIGURATION_Handle *cfg,
261 ret->cfg = cfg; 263 ret->cfg = cfg;
262 ret->cb = cb; 264 ret->cb = cb;
263 ret->cb_cls = cb_cls; 265 ret->cb_cls = cb_cls;
266 GNUNET_assert (ret->th == NULL);
264 ret->th = 267 ret->th =
265 GNUNET_CLIENT_notify_transmit_ready (client, 268 GNUNET_CLIENT_notify_transmit_ready (client,
266 sizeof (struct GNUNET_MessageHeader), 269 sizeof (struct GNUNET_MessageHeader),
@@ -281,7 +284,10 @@ void
281GNUNET_TRANSPORT_blacklist_cancel (struct GNUNET_TRANSPORT_Blacklist *br) 284GNUNET_TRANSPORT_blacklist_cancel (struct GNUNET_TRANSPORT_Blacklist *br)
282{ 285{
283 if (br->th != NULL) 286 if (br->th != NULL)
287 {
284 GNUNET_CLIENT_notify_transmit_ready_cancel (br->th); 288 GNUNET_CLIENT_notify_transmit_ready_cancel (br->th);
289 br->th = NULL;
290 }
285 GNUNET_CLIENT_disconnect (br->client, GNUNET_NO); 291 GNUNET_CLIENT_disconnect (br->client, GNUNET_NO);
286 GNUNET_free (br); 292 GNUNET_free (br);
287} 293}