summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBart Polot <bart@net.in.tum.de>2015-06-26 10:07:05 +0000
committerBart Polot <bart@net.in.tum.de>2015-06-26 10:07:05 +0000
commitd798c4ecba17799aa2c7cc85034626c592c8b0bd (patch)
tree72823d40a60f711bcf939e76cad749db1f8fb012 /src
parent837b3293d47f2c02952f0ca81491a067efe2e283 (diff)
- explicitly track shutdown status
Diffstat (limited to 'src')
-rw-r--r--src/cadet/gnunet-service-cadet_peer.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/cadet/gnunet-service-cadet_peer.c b/src/cadet/gnunet-service-cadet_peer.c
index a312adc04..8003c05cd 100644
--- a/src/cadet/gnunet-service-cadet_peer.c
+++ b/src/cadet/gnunet-service-cadet_peer.c
@@ -236,6 +236,11 @@ static struct GNUNET_CORE_Handle *core_handle;
*/
static struct GNUNET_TRANSPORT_Handle *transport_handle;
+/**
+ * Shutdown falg.
+ */
+static int in_shutdown;
+
/******************************************************************************/
/***************************** DEBUG *********************************/
@@ -460,7 +465,7 @@ core_disconnect (void *cls,
p = GNUNET_CONTAINER_multipeermap_get (peers, peer);
if (NULL == p)
{
- GNUNET_break (0);
+ GNUNET_break (GNUNET_YES == in_shutdown);
return;
}
if (myid == p->id)
@@ -1150,8 +1155,6 @@ queue_send (void *cls, size_t size, void *buf)
/* Sanity checking */
if (NULL == buf || 0 == size)
{
- GNUNET_break (0);
- LOG (GNUNET_ERROR_TYPE_INFO, "CORE gave buffer size 0.\n");
peer->tmt_time.abs_value_us = 0;
peer->core_transmit = NULL;
return 0;
@@ -1671,6 +1674,7 @@ GCP_init (const struct GNUNET_CONFIGURATION_Handle *c)
{
LOG (GNUNET_ERROR_TYPE_DEBUG,
"GCP_init\n");
+ in_shutdown = GNUNET_NO;
peers = GNUNET_CONTAINER_multipeermap_create (128, GNUNET_NO);
if (GNUNET_OK !=
GNUNET_CONFIGURATION_get_value_number (c, "CADET", "MAX_PEERS",
@@ -1740,6 +1744,7 @@ GCP_init (const struct GNUNET_CONFIGURATION_Handle *c)
void
GCP_shutdown (void)
{
+ in_shutdown = GNUNET_YES;
GNUNET_CONTAINER_multipeermap_iterate (peers,
&shutdown_peer,
NULL);