DownloadRequest *request = transfer->request;
if (transfer->blocking)
- return; /* Somehow a completion got signalled for a blocking request */
+ return;
download_request_lock (request);
request->in_use = FALSE;
if (transfer->blocking)
g_cond_broadcast (&transfer->cond);
- else if (error != NULL)
+
+ if (error != NULL)
g_task_return_error (transfer_task, error);
else
g_task_return_boolean (transfer_task, TRUE);
transfer->complete = TRUE;
if (transfer->blocking)
g_cond_broadcast (&transfer->cond);
- else
- g_task_return_boolean (transfer_task, TRUE);
+
+ g_task_return_boolean (transfer_task, TRUE);
}
g_array_set_size (dh->active_transfers, 0);