diff options
-rw-r--r-- | src/mesh/gnunet-service-mesh-enc.c | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/src/mesh/gnunet-service-mesh-enc.c b/src/mesh/gnunet-service-mesh-enc.c index a8aee58576..660446be0a 100644 --- a/src/mesh/gnunet-service-mesh-enc.c +++ b/src/mesh/gnunet-service-mesh-enc.c @@ -4154,10 +4154,13 @@ channel_send_destroy (struct MeshChannel *ch) peer2s (ch->t->peer), ch->gid); - if (NULL != ch->root) + if (channel_is_terminal (ch, GNUNET_NO)) { - msg.chid = htonl (ch->lid_root); - send_local_channel_destroy (ch, GNUNET_NO); + if (NULL != ch->root) + { + msg.chid = htonl (ch->lid_root); + send_local_channel_destroy (ch, GNUNET_NO); + } } else { @@ -4165,10 +4168,13 @@ channel_send_destroy (struct MeshChannel *ch) send_prebuilt_message_channel (&msg.header, ch, GNUNET_NO); } - if (NULL != ch->dest) + if (channel_is_terminal (ch, GNUNET_YES)) { - msg.chid = htonl (ch->lid_dest); - send_local_channel_destroy (ch, GNUNET_YES); + if (NULL != ch->dest) + { + msg.chid = htonl (ch->lid_dest); + send_local_channel_destroy (ch, GNUNET_YES); + } } else { |