diff options
author | Julius Bünger <buenger@mytum.de> | 2018-06-29 00:15:42 +0200 |
---|---|---|
committer | Julius Bünger <buenger@mytum.de> | 2018-06-29 00:15:42 +0200 |
commit | 059aa99083b26474f9fa55ad218c611f67db8e1e (patch) | |
tree | 5de9dcb70cf07847703550e44926358c097c59df /src/cadet | |
parent | 8a9a639ad45d0900e185221f015bb64936361629 (diff) | |
download | gnunet-059aa99083b26474f9fa55ad218c611f67db8e1e.tar.gz gnunet-059aa99083b26474f9fa55ad218c611f67db8e1e.zip |
fix cadet api: handle shutdon correctly
Diffstat (limited to 'src/cadet')
-rw-r--r-- | src/cadet/cadet_api.c | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/src/cadet/cadet_api.c b/src/cadet/cadet_api.c index 85a8be522..319279110 100644 --- a/src/cadet/cadet_api.c +++ b/src/cadet/cadet_api.c | |||
@@ -1253,18 +1253,21 @@ GNUNET_CADET_disconnect (struct GNUNET_CADET_Handle *handle) | |||
1253 | void | 1253 | void |
1254 | GNUNET_CADET_close_port (struct GNUNET_CADET_Port *p) | 1254 | GNUNET_CADET_close_port (struct GNUNET_CADET_Port *p) |
1255 | { | 1255 | { |
1256 | struct GNUNET_CADET_PortMessage *msg; | ||
1257 | struct GNUNET_MQ_Envelope *env; | ||
1258 | |||
1259 | GNUNET_assert (GNUNET_YES == | 1256 | GNUNET_assert (GNUNET_YES == |
1260 | GNUNET_CONTAINER_multihashmap_remove (p->cadet->ports, | 1257 | GNUNET_CONTAINER_multihashmap_remove (p->cadet->ports, |
1261 | &p->id, | 1258 | &p->id, |
1262 | p)); | 1259 | p)); |
1263 | env = GNUNET_MQ_msg (msg, | 1260 | if (NULL != p->cadet->mq) |
1264 | GNUNET_MESSAGE_TYPE_CADET_LOCAL_PORT_CLOSE); | 1261 | { |
1265 | msg->port = p->id; | 1262 | struct GNUNET_CADET_PortMessage *msg; |
1266 | GNUNET_MQ_send (p->cadet->mq, | 1263 | struct GNUNET_MQ_Envelope *env; |
1267 | env); | 1264 | |
1265 | env = GNUNET_MQ_msg (msg, | ||
1266 | GNUNET_MESSAGE_TYPE_CADET_LOCAL_PORT_CLOSE); | ||
1267 | msg->port = p->id; | ||
1268 | GNUNET_MQ_send (p->cadet->mq, | ||
1269 | env); | ||
1270 | } | ||
1268 | GNUNET_free_non_null (p->handlers); | 1271 | GNUNET_free_non_null (p->handlers); |
1269 | GNUNET_free (p); | 1272 | GNUNET_free (p); |
1270 | } | 1273 | } |