X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=src%2Ffs%2Ftest_fs_search_probes.c;h=c6564910824b80d679c694cddf8d2113472bf094;hb=6e599264ad13e8fc105493d74d7c11d46f8739ed;hp=442f99cb7e84d3e6de1f2fbbe7421c7f68462e87;hpb=663cc4e8d6359a3452ee5a907cf6919cc596d5bd;p=oweals%2Fgnunet.git diff --git a/src/fs/test_fs_search_probes.c b/src/fs/test_fs_search_probes.c index 442f99cb7..c65649108 100644 --- a/src/fs/test_fs_search_probes.c +++ b/src/fs/test_fs_search_probes.c @@ -1,21 +1,21 @@ /* This file is part of GNUnet. - (C) 2012 Christian Grothoff (and other contributing authors) + Copyright (C) 2012 GNUnet e.V. - GNUnet is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published - by the Free Software Foundation; either version 3, or (at your - option) any later version. + GNUnet is free software: you can redistribute it and/or modify it + under the terms of the GNU Affero General Public License as published + by the Free Software Foundation, either version 3 of the License, + or (at your option) any later version. GNUnet is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. + Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . - You should have received a copy of the GNU General Public License - along with GNUnet; see the file COPYING. If not, write to the - Free Software Foundation, Inc., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. + SPDX-License-Identifier: AGPL3.0-or-later */ /** @@ -53,14 +53,15 @@ static struct GNUNET_FS_SearchContext *search; static struct GNUNET_FS_PublishContext *publish; -static GNUNET_SCHEDULER_TaskIdentifier timeout_task; +static struct GNUNET_SCHEDULER_Task * timeout_task; static int err; static void -abort_error (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) +abort_error (void *cls) { + timeout_task = NULL; fprintf (stderr, "Timeout\n"); if (NULL != search) @@ -78,15 +79,23 @@ abort_error (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) static void -abort_publish_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) +abort_publish_task (void *cls) { - GNUNET_FS_publish_stop (publish); - publish = NULL; + if (NULL != publish) + { + GNUNET_FS_publish_stop (publish); + publish = NULL; + } + if (NULL != timeout_task) + { + GNUNET_SCHEDULER_cancel (timeout_task); + timeout_task = NULL; + } } static void -abort_search_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) +abort_search_task (void *cls) { if (search != NULL) GNUNET_FS_search_stop (search); @@ -113,6 +122,8 @@ progress_cb (void *cls, const struct GNUNET_FS_ProgressInfo *event) (unsigned long long) event->value.publish.specifics. progress.offset); break; + case GNUNET_FS_STATUS_PUBLISH_PROGRESS_DIRECTORY: + break; case GNUNET_FS_STATUS_PUBLISH_COMPLETED: kuri = GNUNET_FS_uri_ksk_create_from_args (1, keywords); start = GNUNET_TIME_absolute_get (); @@ -126,17 +137,15 @@ progress_cb (void *cls, const struct GNUNET_FS_ProgressInfo *event) GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Search complete.\n"); break; case GNUNET_FS_STATUS_PUBLISH_ERROR: - FPRINTF (stderr, "Error publishing file: %s\n", + fprintf (stderr, "Error publishing file: %s\n", event->value.publish.specifics.error.message); GNUNET_break (0); - GNUNET_SCHEDULER_add_continuation (&abort_publish_task, NULL, - GNUNET_SCHEDULER_REASON_PREREQ_DONE); + GNUNET_SCHEDULER_add_now (&abort_publish_task, NULL); break; case GNUNET_FS_STATUS_SEARCH_ERROR: - FPRINTF (stderr, "Error searching file: %s\n", + fprintf (stderr, "Error searching file: %s\n", event->value.search.specifics.error.message); - GNUNET_SCHEDULER_add_continuation (&abort_search_task, NULL, - GNUNET_SCHEDULER_REASON_PREREQ_DONE); + GNUNET_SCHEDULER_add_now (&abort_search_task, NULL); break; case GNUNET_FS_STATUS_PUBLISH_START: GNUNET_assert (0 == strcmp ("publish-context", event->value.publish.cctx)); @@ -166,11 +175,12 @@ progress_cb (void *cls, const struct GNUNET_FS_ProgressInfo *event) break; case GNUNET_FS_STATUS_SEARCH_STOPPED: GNUNET_assert (search == event->value.search.sc); - GNUNET_SCHEDULER_add_continuation (&abort_publish_task, NULL, - GNUNET_SCHEDULER_REASON_PREREQ_DONE); + GNUNET_SCHEDULER_add_now (&abort_publish_task, NULL); break; default: - FPRINTF (stderr, "Unexpected event: %d\n", event->status); + fprintf (stderr, + "Unexpected event: %d\n", + event->status); break; } return NULL; @@ -194,7 +204,7 @@ run (void *cls, size_t i; fs = GNUNET_FS_start (cfg, "test-fs-search", &progress_cb, NULL, - GNUNET_FS_FLAGS_DO_PROBES, + GNUNET_FS_FLAGS_DO_PROBES, GNUNET_FS_OPTIONS_END); GNUNET_assert (NULL != fs); buf = GNUNET_malloc (FILESIZE);