aboutsummaryrefslogtreecommitdiff
path: root/src/transport/transport_api.c
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2010-12-01 19:21:41 +0000
committerChristian Grothoff <christian@grothoff.org>2010-12-01 19:21:41 +0000
commit6f79c1c8c2bc7b19646de749e5c05eb77cea1d50 (patch)
tree3b7936aabc79137152e14557a96a831516c6b42c /src/transport/transport_api.c
parent1528d8e538df6d54ac3e3bbacfdd676e4fe7a009 (diff)
downloadgnunet-6f79c1c8c2bc7b19646de749e5c05eb77cea1d50.tar.gz
gnunet-6f79c1c8c2bc7b19646de749e5c05eb77cea1d50.zip
do not free if still connected
Diffstat (limited to 'src/transport/transport_api.c')
-rw-r--r--src/transport/transport_api.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/transport/transport_api.c b/src/transport/transport_api.c
index b0154ea78..414af0178 100644
--- a/src/transport/transport_api.c
+++ b/src/transport/transport_api.c
@@ -1374,6 +1374,7 @@ send_request_connect_message(struct GNUNET_TRANSPORT_Handle *h, struct Neighbour
1374 GNUNET_TIME_UNIT_FOREVER_REL, &send_transport_request_connect, trcm); 1374 GNUNET_TIME_UNIT_FOREVER_REL, &send_transport_request_connect, trcm);
1375} 1375}
1376 1376
1377
1377/** 1378/**
1378 * Add neighbour to our list 1379 * Add neighbour to our list
1379 * 1380 *
@@ -1412,6 +1413,7 @@ neighbour_add (struct GNUNET_TRANSPORT_Handle *h,
1412 return n; 1413 return n;
1413} 1414}
1414 1415
1416
1415/** 1417/**
1416 * Iterator over hash map entries, for deleting state of a neighbor. 1418 * Iterator over hash map entries, for deleting state of a neighbor.
1417 * 1419 *
@@ -1509,11 +1511,11 @@ GNUNET_TRANSPORT_disconnect (struct GNUNET_TRANSPORT_Handle *handle)
1509#endif 1511#endif
1510 handle->in_disconnect = GNUNET_YES; 1512 handle->in_disconnect = GNUNET_YES;
1511 1513
1512 GNUNET_assert(GNUNET_SYSERR != 1514 GNUNET_assert (GNUNET_SYSERR !=
1513 GNUNET_CONTAINER_multihashmap_iterate(handle->neighbours, 1515 GNUNET_CONTAINER_multihashmap_iterate(handle->neighbours,
1514 &delete_neighbours, 1516 &delete_neighbours,
1515 handle)); 1517 handle));
1516 GNUNET_CONTAINER_multihashmap_destroy(handle->neighbours); 1518 GNUNET_CONTAINER_multihashmap_destroy (handle->neighbours);
1517 1519
1518 while (NULL != (hwl = handle->hwl_head)) 1520 while (NULL != (hwl = handle->hwl_head))
1519 { 1521 {
@@ -2005,7 +2007,8 @@ GNUNET_TRANSPORT_notify_transmit_ready_cancel (struct
2005 break; 2007 break;
2006 case TS_QUEUED: 2008 case TS_QUEUED:
2007 n->transmit_stage = TS_NEW; 2009 n->transmit_stage = TS_NEW;
2008 if (n->in_disconnect == GNUNET_NO) 2010 if ( (n->in_disconnect == GNUNET_NO) &&
2011 (n->is_connected == GNUNET_NO) )
2009 neighbour_free (n); 2012 neighbour_free (n);
2010 break; 2013 break;
2011 case TS_TRANSMITTED: 2014 case TS_TRANSMITTED: