diff options
author | Bart Polot <bart@net.in.tum.de> | 2013-12-12 12:07:05 +0000 |
---|---|---|
committer | Bart Polot <bart@net.in.tum.de> | 2013-12-12 12:07:05 +0000 |
commit | fec80b5d6dcd240ddb64ddeda352ecbb56de9261 (patch) | |
tree | 6659193ce32dae6114806238a094ef0daa25e597 /src | |
parent | d64043e7aa474f741ffb0033fe57faff8613c949 (diff) | |
download | gnunet-fec80b5d6dcd240ddb64ddeda352ecbb56de9261.tar.gz gnunet-fec80b5d6dcd240ddb64ddeda352ecbb56de9261.zip |
- don't confirm channels scheduled for destruction, client handles are NULL'd
Diffstat (limited to 'src')
-rw-r--r-- | src/mesh/gnunet-service-mesh_channel.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/mesh/gnunet-service-mesh_channel.c b/src/mesh/gnunet-service-mesh_channel.c index 2e52a2ea5..69b158303 100644 --- a/src/mesh/gnunet-service-mesh_channel.c +++ b/src/mesh/gnunet-service-mesh_channel.c | |||
@@ -1114,13 +1114,18 @@ channel_confirm (struct MeshChannel *ch, int fwd) | |||
1114 | struct MeshChannelReliability *rel; | 1114 | struct MeshChannelReliability *rel; |
1115 | enum MeshChannelState oldstate; | 1115 | enum MeshChannelState oldstate; |
1116 | 1116 | ||
1117 | rel = fwd ? ch->root_rel : ch->dest_rel; | ||
1118 | if (NULL == rel) | ||
1119 | { | ||
1120 | GNUNET_break (GNUNET_NO != ch->destroy); | ||
1121 | return; | ||
1122 | } | ||
1117 | LOG (GNUNET_ERROR_TYPE_DEBUG, | 1123 | LOG (GNUNET_ERROR_TYPE_DEBUG, |
1118 | " channel confirm %s %s\n", | 1124 | " channel confirm %s %s\n", |
1119 | GM_f2s (fwd), GMCH_2s (ch)); | 1125 | GM_f2s (fwd), GMCH_2s (ch)); |
1120 | oldstate = ch->state; | 1126 | oldstate = ch->state; |
1121 | ch->state = MESH_CHANNEL_READY; | 1127 | ch->state = MESH_CHANNEL_READY; |
1122 | 1128 | ||
1123 | rel = fwd ? ch->root_rel : ch->dest_rel; | ||
1124 | rel->client_ready = GNUNET_YES; | 1129 | rel->client_ready = GNUNET_YES; |
1125 | LOG (GNUNET_ERROR_TYPE_DEBUG, | 1130 | LOG (GNUNET_ERROR_TYPE_DEBUG, |
1126 | " !! retry timer confirm %s\n", | 1131 | " !! retry timer confirm %s\n", |