gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r26642 - gnunet/src/fs


From: gnunet
Subject: [GNUnet-SVN] r26642 - gnunet/src/fs
Date: Thu, 28 Mar 2013 15:07:42 +0100

Author: grothoff
Date: 2013-03-28 15:07:42 +0100 (Thu, 28 Mar 2013)
New Revision: 26642

Modified:
   gnunet/src/fs/test_fs_search.c
Log:
-add timeout

Modified: gnunet/src/fs/test_fs_search.c
===================================================================
--- gnunet/src/fs/test_fs_search.c      2013-03-28 13:54:03 UTC (rev 26641)
+++ gnunet/src/fs/test_fs_search.c      2013-03-28 14:07:42 UTC (rev 26642)
@@ -52,21 +52,48 @@
 
 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 @@
       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 @@
                                    "test_fs_search_data.conf",
                                    &run, NULL))
     return 1;
-  return 0;
+  return err;
 }
 
 /* end of test_fs_search.c */




reply via email to

[Prev in Thread] Current Thread [Next in Thread]