diff options
author | Christian Grothoff <christian@grothoff.org> | 2012-04-26 08:58:17 +0000 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2012-04-26 08:58:17 +0000 |
commit | 0f23567cc714ee5f17c940a5db81cd47f2d8ee49 (patch) | |
tree | 8a819dd69f3efd993b55c0fa38834c9630c5d821 /src | |
parent | 074829f1d2c58e17f5648da2b78a6d2b6d75d817 (diff) | |
download | gnunet-0f23567cc714ee5f17c940a5db81cd47f2d8ee49.tar.gz gnunet-0f23567cc714ee5f17c940a5db81cd47f2d8ee49.zip |
-fix
Diffstat (limited to 'src')
-rw-r--r-- | src/fs/fs_search.c | 38 |
1 files changed, 18 insertions, 20 deletions
diff --git a/src/fs/fs_search.c b/src/fs/fs_search.c index ef3e66fbc..c91ddbeb7 100644 --- a/src/fs/fs_search.c +++ b/src/fs/fs_search.c | |||
@@ -1470,6 +1470,24 @@ search_result_stop (void *cls, const GNUNET_HashCode * key, void *value) | |||
1470 | struct GNUNET_FS_SearchResult *sr = value; | 1470 | struct GNUNET_FS_SearchResult *sr = value; |
1471 | struct GNUNET_FS_ProgressInfo pi; | 1471 | struct GNUNET_FS_ProgressInfo pi; |
1472 | 1472 | ||
1473 | if (NULL != sr->download) | ||
1474 | { | ||
1475 | sr->download->search = NULL; | ||
1476 | sr->download->top = | ||
1477 | GNUNET_FS_make_top (sr->download->h, | ||
1478 | &GNUNET_FS_download_signal_suspend_, sr->download); | ||
1479 | if (NULL != sr->download->serialization) | ||
1480 | { | ||
1481 | GNUNET_FS_remove_sync_file_ (sc->h, GNUNET_FS_SYNC_PATH_CHILD_DOWNLOAD, | ||
1482 | sr->download->serialization); | ||
1483 | GNUNET_free (sr->download->serialization); | ||
1484 | sr->download->serialization = NULL; | ||
1485 | } | ||
1486 | pi.status = GNUNET_FS_STATUS_DOWNLOAD_LOST_PARENT; | ||
1487 | GNUNET_FS_download_make_status_ (&pi, sr->download); | ||
1488 | GNUNET_FS_download_sync_ (sr->download); | ||
1489 | sr->download = NULL; | ||
1490 | } | ||
1473 | pi.status = GNUNET_FS_STATUS_SEARCH_RESULT_STOPPED; | 1491 | pi.status = GNUNET_FS_STATUS_SEARCH_RESULT_STOPPED; |
1474 | pi.value.search.specifics.result_stopped.cctx = sr->client_info; | 1492 | pi.value.search.specifics.result_stopped.cctx = sr->client_info; |
1475 | pi.value.search.specifics.result_stopped.meta = sr->meta; | 1493 | pi.value.search.specifics.result_stopped.meta = sr->meta; |
@@ -1490,28 +1508,8 @@ search_result_stop (void *cls, const GNUNET_HashCode * key, void *value) | |||
1490 | static int | 1508 | static int |
1491 | search_result_free (void *cls, const GNUNET_HashCode * key, void *value) | 1509 | search_result_free (void *cls, const GNUNET_HashCode * key, void *value) |
1492 | { | 1510 | { |
1493 | struct GNUNET_FS_SearchContext *sc = cls; | ||
1494 | struct GNUNET_FS_SearchResult *sr = value; | 1511 | struct GNUNET_FS_SearchResult *sr = value; |
1495 | struct GNUNET_FS_ProgressInfo pi; | ||
1496 | 1512 | ||
1497 | if (NULL != sr->download) | ||
1498 | { | ||
1499 | sr->download->search = NULL; | ||
1500 | sr->download->top = | ||
1501 | GNUNET_FS_make_top (sr->download->h, | ||
1502 | &GNUNET_FS_download_signal_suspend_, sr->download); | ||
1503 | if (NULL != sr->download->serialization) | ||
1504 | { | ||
1505 | GNUNET_FS_remove_sync_file_ (sc->h, GNUNET_FS_SYNC_PATH_CHILD_DOWNLOAD, | ||
1506 | sr->download->serialization); | ||
1507 | GNUNET_free (sr->download->serialization); | ||
1508 | sr->download->serialization = NULL; | ||
1509 | } | ||
1510 | pi.status = GNUNET_FS_STATUS_DOWNLOAD_LOST_PARENT; | ||
1511 | GNUNET_FS_download_make_status_ (&pi, sr->download); | ||
1512 | GNUNET_FS_download_sync_ (sr->download); | ||
1513 | sr->download = NULL; | ||
1514 | } | ||
1515 | if (NULL != sr->update_search) | 1513 | if (NULL != sr->update_search) |
1516 | { | 1514 | { |
1517 | GNUNET_FS_search_stop (sr->update_search); | 1515 | GNUNET_FS_search_stop (sr->update_search); |