diff options
author | Christian Grothoff <christian@grothoff.org> | 2010-12-01 19:21:41 +0000 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2010-12-01 19:21:41 +0000 |
commit | 6f79c1c8c2bc7b19646de749e5c05eb77cea1d50 (patch) | |
tree | 3b7936aabc79137152e14557a96a831516c6b42c /src/transport/transport_api.c | |
parent | 1528d8e538df6d54ac3e3bbacfdd676e4fe7a009 (diff) | |
download | gnunet-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.c | 15 |
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: |