[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r35248 - gnunet/src/transport
From: |
gnunet |
Subject: |
[GNUnet-SVN] r35248 - gnunet/src/transport |
Date: |
Thu, 12 Feb 2015 21:12:28 +0100 |
Author: grothoff
Date: 2015-02-12 21:12:28 +0100 (Thu, 12 Feb 2015)
New Revision: 35248
Modified:
gnunet/src/transport/gnunet-service-transport_neighbours.c
Log:
-fix leak on transmission error in combination with disconnect
Modified: gnunet/src/transport/gnunet-service-transport_neighbours.c
===================================================================
--- gnunet/src/transport/gnunet-service-transport_neighbours.c 2015-02-12
19:52:47 UTC (rev 35247)
+++ gnunet/src/transport/gnunet-service-transport_neighbours.c 2015-02-12
20:12:28 UTC (rev 35248)
@@ -1224,13 +1224,20 @@
static void
transmit_send_continuation (void *cls,
const struct GNUNET_PeerIdentity *receiver,
- int success, size_t size_payload, size_t physical)
+ int success,
+ size_t size_payload,
+ size_t physical)
{
struct MessageQueue *mq = cls;
struct NeighbourMapEntry *n;
if (NULL == (n = lookup_neighbour (receiver)))
{
+ if (NULL != mq->cont)
+ mq->cont (mq->cont_cls,
+ GNUNET_SYSERR /* not connected */,
+ size_payload,
+ 0);
GNUNET_free (mq);
return; /* disconnect or other error while transmitting, can happen */
}
@@ -1255,7 +1262,6 @@
GNUNET_break (0);
}
-
GNUNET_break (size_payload == mq->message_buf_size);
bytes_in_send_queue -= mq->message_buf_size;
GNUNET_STATISTICS_set (GST_stats,
@@ -1327,9 +1333,9 @@
if (timeout.rel_value_us > 0)
break;
GNUNET_STATISTICS_update (GST_stats,
- gettext_noop
- ("# messages timed out while in transport queue"),
- 1, GNUNET_NO);
+ gettext_noop ("# messages timed out while in
transport queue"),
+ 1,
+ GNUNET_NO);
GNUNET_CONTAINER_DLL_remove (n->messages_head,
n->messages_tail,
mq);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r35248 - gnunet/src/transport,
gnunet <=