From: Bart Polot Date: Thu, 27 Oct 2011 01:29:44 +0000 (+0000) Subject: Attempt to fix assertion failures on buildbot related to RC of client (keep/drop) X-Git-Tag: initial-import-from-subversion-38251~16199 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=19780f69c439907bbe4d35265ac1b7ad092c50cd;p=oweals%2Fgnunet.git Attempt to fix assertion failures on buildbot related to RC of client (keep/drop) --- diff --git a/src/mesh/gnunet-service-mesh.c b/src/mesh/gnunet-service-mesh.c index 40f1d139b..59c5174ac 100644 --- a/src/mesh/gnunet-service-mesh.c +++ b/src/mesh/gnunet-service-mesh.c @@ -3248,7 +3248,6 @@ handle_local_client_disconnect (void *cls, struct GNUNET_SERVER_Client *client) GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "MESH: (SERVER DOWN)\n"); return; } - GNUNET_SERVER_client_drop (client); c = clients; while (NULL != c) { @@ -3259,6 +3258,7 @@ handle_local_client_disconnect (void *cls, struct GNUNET_SERVER_Client *client) continue; } GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "MESH: matching client found\n"); + GNUNET_SERVER_client_drop (c->handle); if (NULL != c->tunnels) { GNUNET_CONTAINER_multihashmap_iterate (c->tunnels, @@ -3314,7 +3314,6 @@ handle_local_new_client (void *cls, struct GNUNET_SERVER_Client *client, uint16_t i; GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "MESH: new client connected\n"); - GNUNET_SERVER_client_keep (client); /* Check data sanity */ size = ntohs (message->size) - sizeof (struct GNUNET_MESH_ClientConnect); cc_msg = (struct GNUNET_MESH_ClientConnect *) message; @@ -3335,6 +3334,7 @@ handle_local_new_client (void *cls, struct GNUNET_SERVER_Client *client, #endif GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "MESH: CLIENT NEW %u at %p\n", c->id, c); c->handle = client; + GNUNET_SERVER_client_keep (client); a = (GNUNET_MESH_ApplicationType *) &cc_msg[1]; if (napps > 0) {