aboutsummaryrefslogtreecommitdiff
path: root/src/fs/fs_download.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/fs/fs_download.c')
-rw-r--r--src/fs/fs_download.c19
1 files changed, 11 insertions, 8 deletions
diff --git a/src/fs/fs_download.c b/src/fs/fs_download.c
index 732b3c43a..1565f9a3d 100644
--- a/src/fs/fs_download.c
+++ b/src/fs/fs_download.c
@@ -1298,6 +1298,7 @@ process_result_with_request (void *cls,
1298 dc->th = NULL; 1298 dc->th = NULL;
1299 } 1299 }
1300 GNUNET_CLIENT_disconnect (dc->client, GNUNET_NO); 1300 GNUNET_CLIENT_disconnect (dc->client, GNUNET_NO);
1301 dc->in_receive = GNUNET_NO;
1301 dc->client = NULL; 1302 dc->client = NULL;
1302 GNUNET_FS_free_download_request_ (dc->top_request); 1303 GNUNET_FS_free_download_request_ (dc->top_request);
1303 dc->top_request = NULL; 1304 dc->top_request = NULL;
@@ -1459,6 +1460,14 @@ transmit_download_request (void *cls,
1459 dc); 1460 dc);
1460 GNUNET_assert (dc->th != NULL); 1461 GNUNET_assert (dc->th != NULL);
1461 } 1462 }
1463 if (GNUNET_NO == dc->in_receive)
1464 {
1465 dc->in_receive = GNUNET_YES;
1466 GNUNET_CLIENT_receive (dc->client,
1467 &receive_results,
1468 dc,
1469 GNUNET_TIME_UNIT_FOREVER_REL);
1470 }
1462 return msize; 1471 return msize;
1463} 1472}
1464 1473
@@ -1498,10 +1507,6 @@ do_reconnect (void *cls,
1498 dc); 1507 dc);
1499 GNUNET_assert (dc->th != NULL); 1508 GNUNET_assert (dc->th != NULL);
1500 } 1509 }
1501 GNUNET_CLIENT_receive (client,
1502 &receive_results,
1503 dc,
1504 GNUNET_TIME_UNIT_FOREVER_REL);
1505} 1510}
1506 1511
1507 1512
@@ -1560,6 +1565,7 @@ try_reconnect (struct GNUNET_FS_DownloadContext *dc)
1560 &retry_entry, 1565 &retry_entry,
1561 dc); 1566 dc);
1562 GNUNET_CLIENT_disconnect (dc->client, GNUNET_NO); 1567 GNUNET_CLIENT_disconnect (dc->client, GNUNET_NO);
1568 dc->in_receive = GNUNET_NO;
1563 dc->client = NULL; 1569 dc->client = NULL;
1564 } 1570 }
1565#if DEBUG_DOWNLOAD 1571#if DEBUG_DOWNLOAD
@@ -1594,10 +1600,6 @@ activate_fs_download (void *cls,
1594 GNUNET_assert (dc->client == NULL); 1600 GNUNET_assert (dc->client == NULL);
1595 GNUNET_assert (dc->th == NULL); 1601 GNUNET_assert (dc->th == NULL);
1596 dc->client = client; 1602 dc->client = client;
1597 GNUNET_CLIENT_receive (client,
1598 &receive_results,
1599 dc,
1600 GNUNET_TIME_UNIT_FOREVER_REL);
1601 pi.status = GNUNET_FS_STATUS_DOWNLOAD_ACTIVE; 1603 pi.status = GNUNET_FS_STATUS_DOWNLOAD_ACTIVE;
1602 GNUNET_FS_download_make_status_ (&pi, dc); 1604 GNUNET_FS_download_make_status_ (&pi, dc);
1603 dc->pending_head = NULL; 1605 dc->pending_head = NULL;
@@ -1645,6 +1647,7 @@ deactivate_fs_download (void *cls)
1645 if (NULL != dc->client) 1647 if (NULL != dc->client)
1646 { 1648 {
1647 GNUNET_CLIENT_disconnect (dc->client, GNUNET_NO); 1649 GNUNET_CLIENT_disconnect (dc->client, GNUNET_NO);
1650 dc->in_receive = GNUNET_NO;
1648 dc->client = NULL; 1651 dc->client = NULL;
1649 } 1652 }
1650 dc->pending_head = NULL; 1653 dc->pending_head = NULL;