projects
/
oweals
/
gnunet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
- doc
[oweals/gnunet.git]
/
src
/
mesh
/
gnunet-service-mesh.c
diff --git
a/src/mesh/gnunet-service-mesh.c
b/src/mesh/gnunet-service-mesh.c
index 887507cd1b9cd9acd545d606de1b01ace48d70a5..7ebe7d199d188696f36268b002a872fa3a1b1ae1 100644
(file)
--- a/
src/mesh/gnunet-service-mesh.c
+++ b/
src/mesh/gnunet-service-mesh.c
@@
-4585,10
+4585,12
@@
queue_destroy (struct MeshPeerQueue *queue, int clear_cls)
{
case GNUNET_MESSAGE_TYPE_MESH_TUNNEL_DESTROY:
GNUNET_log (GNUNET_ERROR_TYPE_ERROR, " cancelling TUNNEL_DESTROY\n");
{
case GNUNET_MESSAGE_TYPE_MESH_TUNNEL_DESTROY:
GNUNET_log (GNUNET_ERROR_TYPE_ERROR, " cancelling TUNNEL_DESTROY\n");
+ /* fall through */
case GNUNET_MESSAGE_TYPE_MESH_UNICAST:
case GNUNET_MESSAGE_TYPE_MESH_MULTICAST:
case GNUNET_MESSAGE_TYPE_MESH_TO_ORIGIN:
case GNUNET_MESSAGE_TYPE_MESH_UNICAST:
case GNUNET_MESSAGE_TYPE_MESH_MULTICAST:
case GNUNET_MESSAGE_TYPE_MESH_TO_ORIGIN:
- GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, " type payload\n");
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ " type prebuilt (payload, tunnel destroy)\n");
dd = queue->cls;
data_descriptor_decrement_rc (dd->mesh_data);
break;
dd = queue->cls;
data_descriptor_decrement_rc (dd->mesh_data);
break;
@@
-7774,6
+7776,11
@@
core_disconnect (void *cls, const struct GNUNET_PeerIdentity *peer)
queue_destroy(q, GNUNET_YES);
q = n;
}
queue_destroy(q, GNUNET_YES);
q = n;
}
+ if (NULL != pi->core_transmit)
+ {
+ GNUNET_CORE_notify_transmit_ready_cancel(pi->core_transmit);
+ pi->core_transmit = NULL;
+ }
peer_info_remove_path (pi, pi->id, myid);
if (myid == pi->id)
{
peer_info_remove_path (pi, pi->id, myid);
if (myid == pi->id)
{