From 87d828d4d8615c4958684f225c3917ff7516519b Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Thu, 28 Mar 2013 14:07:42 +0000 Subject: -add timeout --- src/fs/test_fs_search.c | 35 ++++++++++++++++++++++++++++++++--- 1 file changed, 32 insertions(+), 3 deletions(-) (limited to 'src/fs/test_fs_search.c') diff --git a/src/fs/test_fs_search.c b/src/fs/test_fs_search.c index cf4a9cb41..a0fba1a9e 100644 --- a/src/fs/test_fs_search.c +++ b/src/fs/test_fs_search.c @@ -52,21 +52,48 @@ static struct GNUNET_FS_SearchContext *search; static struct GNUNET_FS_PublishContext *publish; +static GNUNET_SCHEDULER_TaskIdentifier timeout_task; + +static int err; + static void abort_publish_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) { GNUNET_FS_publish_stop (publish); publish = NULL; + GNUNET_SCHEDULER_cancel (timeout_task); + timeout_task = GNUNET_SCHEDULER_NO_TASK; +} + + +static void +abort_error (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) +{ + fprintf (stderr, + "Timeout\n"); + if (NULL != publish) + { + GNUNET_FS_publish_stop (publish); + publish = NULL; + } + if (NULL != search) + { + GNUNET_FS_search_stop (search); + search = NULL; + } + err = 1; } static void abort_search_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) { - if (search != NULL) + if (NULL != search) + { GNUNET_FS_search_stop (search); - search = NULL; + search = NULL; + } } @@ -190,6 +217,8 @@ run (void *cls, GNUNET_FS_publish_start (fs, fi, NULL, NULL, NULL, GNUNET_FS_PUBLISH_OPTION_NONE); GNUNET_assert (publish != NULL); + timeout_task = GNUNET_SCHEDULER_add_delayed (LIFETIME, + &abort_error, NULL); } @@ -200,7 +229,7 @@ main (int argc, char *argv[]) "test_fs_search_data.conf", &run, NULL)) return 1; - return 0; + return err; } /* end of test_fs_search.c */ -- cgit v1.2.3