aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/fs/fs_api.c8
-rw-r--r--src/fs/fs_download.c5
2 files changed, 9 insertions, 4 deletions
diff --git a/src/fs/fs_api.c b/src/fs/fs_api.c
index ec959433a1..4265d8d51b 100644
--- a/src/fs/fs_api.c
+++ b/src/fs/fs_api.c
@@ -51,7 +51,7 @@ start_job (struct GNUNET_FS_QueueEntry *qe)
{
GNUNET_assert (NULL == qe->client);
qe->client = GNUNET_CLIENT_connect ("fs", qe->h->cfg);
- if (qe->client == NULL)
+ if (NULL == qe->client)
{
GNUNET_break (0);
return;
@@ -114,7 +114,7 @@ process_job_queue (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
while (NULL != (qe = next))
{
next = qe->next;
- if (h->running_head == NULL)
+ if (NULL == h->running_head)
{
start_job (qe);
continue;
@@ -126,7 +126,7 @@ process_job_queue (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
continue;
}
}
- if (h->pending_head == NULL)
+ if (NULL == h->pending_head)
return; /* no need to stop anything */
/* then, check if we should stop some jobs */
next = h->running_head;
@@ -221,7 +221,7 @@ GNUNET_FS_dequeue_ (struct GNUNET_FS_QueueEntry *qh)
struct GNUNET_FS_Handle *h;
h = qh->h;
- if (qh->client != NULL)
+ if (NULL != qh->client)
stop_job (qh);
GNUNET_CONTAINER_DLL_remove (h->pending_head, h->pending_tail, qh);
GNUNET_free (qh);
diff --git a/src/fs/fs_download.c b/src/fs/fs_download.c
index c7e3a60238..61178766b3 100644
--- a/src/fs/fs_download.c
+++ b/src/fs/fs_download.c
@@ -1178,6 +1178,11 @@ signal_error:
dc->top_request = NULL;
GNUNET_CONTAINER_multihashmap_destroy (dc->active);
dc->active = NULL;
+ if (NULL != dc->job_queue)
+ {
+ GNUNET_FS_dequeue_ (dc->job_queue);
+ dc->job_queue = NULL;
+ }
dc->pending_head = NULL;
dc->pending_tail = NULL;
GNUNET_FS_download_sync_ (dc);