From 0f292c9b798f4442d2165756e6daf46d84bcb8b9 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Mon, 10 Dec 2012 15:32:30 +0000 Subject: -fix --- src/fs/gnunet-service-fs_lc.c | 18 +++++++++--------- src/fs/gnunet-service-fs_stream.c | 17 +++++++++++++---- 2 files changed, 22 insertions(+), 13 deletions(-) diff --git a/src/fs/gnunet-service-fs_lc.c b/src/fs/gnunet-service-fs_lc.c index fd29c81f9..c3b6f40b0 100644 --- a/src/fs/gnunet-service-fs_lc.c +++ b/src/fs/gnunet-service-fs_lc.c @@ -275,9 +275,14 @@ client_response_handler (void *cls, enum GNUNET_BLOCK_EvaluationResult eval, GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Queued reply to query `%s' for local client\n", GNUNET_h2s (&prd->query), (unsigned int) prd->type); - if (eval != GNUNET_BLOCK_EVALUATION_OK_LAST) + if (GNUNET_BLOCK_EVALUATION_OK_LAST != eval) + { + GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, + "Evaluation %d - keeping query alive\n", + (int) eval); return; - if (GNUNET_SCHEDULER_NO_TASK != cr->kill_task) + } + if (GNUNET_SCHEDULER_NO_TASK == cr->kill_task) cr->kill_task = GNUNET_SCHEDULER_add_now (&client_request_destroy, cr); } @@ -480,18 +485,13 @@ GSF_client_disconnect_handler_ (void *cls, struct GNUNET_SERVER_Client *client) pos = client_head; while ((pos != NULL) && (pos->client != client)) pos = pos->next; - if (pos == NULL) + if (NULL == pos) return; while (NULL != (cr = pos->cr_head)) { - GNUNET_CONTAINER_DLL_remove (pos->cr_head, pos->cr_tail, cr); - GSF_pending_request_cancel_ (cr->pr, GNUNET_YES); - GNUNET_STATISTICS_update (GSF_stats, - gettext_noop ("# client searches active"), -1, - GNUNET_NO); if (GNUNET_SCHEDULER_NO_TASK != cr->kill_task) GNUNET_SCHEDULER_cancel (cr->kill_task); - GNUNET_free (cr); + client_request_destroy (cr, NULL); } while (NULL != (res = pos->res_head)) { diff --git a/src/fs/gnunet-service-fs_stream.c b/src/fs/gnunet-service-fs_stream.c index 24aeaf888..e05616c45 100644 --- a/src/fs/gnunet-service-fs_stream.c +++ b/src/fs/gnunet-service-fs_stream.c @@ -1037,7 +1037,7 @@ continue_reading (struct StreamClient *sc) GNUNET_SERVER_mst_receive (sc->mst, NULL, NULL, 0, - GNUNET_NO, GNUNET_YES); + GNUNET_NO, GNUNET_NO); if (GNUNET_NO == ret) return; refresh_timeout_task (sc); @@ -1088,7 +1088,7 @@ process_request (void *cls, GNUNET_SERVER_mst_receive (sc->mst, NULL, data, size, - GNUNET_NO, GNUNET_YES); + GNUNET_NO, GNUNET_NO); if (GNUNET_NO == ret) return size; /* more messages in MST */ if (GNUNET_SYSERR == ret) @@ -1219,6 +1219,8 @@ handle_datastore_reply (void *cls, sc->qe = NULL; if (GNUNET_BLOCK_TYPE_FS_ONDEMAND == type) { + GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, + "Performing on-demand encoding\n"); if (GNUNET_OK != GNUNET_FS_handle_on_demand_block (key, size, data, type, @@ -1227,6 +1229,8 @@ handle_datastore_reply (void *cls, &handle_datastore_reply, sc)) { + GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, + "On-demand encoding request failed\n"); continue_writing (sc); } return; @@ -1238,8 +1242,9 @@ handle_datastore_reply (void *cls, return; } GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, - "Starting transmission of %u byte reply via stream\n", - (unsigned int) size); + "Starting transmission of %u byte reply for query `%s' via stream\n", + (unsigned int) size, + GNUNET_h2s (key)); wqi = GNUNET_malloc (sizeof (struct WriteQueueItem) + msize); wqi->msize = msize; srm = (struct StreamReplyMessage *) &wqi[1]; @@ -1302,7 +1307,11 @@ request_cb (void *cls, GNUNET_TIME_UNIT_FOREVER_REL, &handle_datastore_reply, sc); if (NULL == sc->qe) + { + GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, + "Queueing request with datastore failed (queue full?)\n"); continue_writing (sc); + } return GNUNET_OK; default: GNUNET_break_op (0); -- cgit v1.2.3