gnunet-svn
[Top][All Lists]
Advanced

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

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


From: gnunet
Subject: [GNUnet-SVN] r19492 - gnunet/src/fs
Date: Sat, 28 Jan 2012 15:17:44 +0100

Author: grothoff
Date: 2012-01-28 15:17:44 +0100 (Sat, 28 Jan 2012)
New Revision: 19492

Modified:
   gnunet/src/fs/gnunet-publish.c
Log:
-fix dead scheduler task cancellation on CTRL-c

Modified: gnunet/src/fs/gnunet-publish.c
===================================================================
--- gnunet/src/fs/gnunet-publish.c      2012-01-28 13:24:00 UTC (rev 19491)
+++ gnunet/src/fs/gnunet-publish.c      2012-01-28 14:17:44 UTC (rev 19492)
@@ -84,17 +84,18 @@
 {
   struct GNUNET_FS_PublishContext *p;
 
+  kill_task = GNUNET_SCHEDULER_NO_TASK;
   if (pc != NULL)
   {
     p = pc;
     pc = NULL;
     GNUNET_FS_publish_stop (p);
-    if (NULL != meta)
-    {
-      GNUNET_CONTAINER_meta_data_destroy (meta);
-      meta = NULL;
-    }
   }
+  if (NULL != meta)
+  {
+    GNUNET_CONTAINER_meta_data_destroy (meta);
+    meta = NULL;
+  }  
 }
 
 
@@ -139,8 +140,7 @@
       GNUNET_SCHEDULER_cancel (kill_task);
       kill_task = GNUNET_SCHEDULER_NO_TASK;
     }
-    GNUNET_SCHEDULER_add_continuation (&do_stop_task, NULL,
-                                       GNUNET_SCHEDULER_REASON_PREREQ_DONE);
+    kill_task = GNUNET_SCHEDULER_add_now (&do_stop_task, NULL);
     break;
   case GNUNET_FS_STATUS_PUBLISH_COMPLETED:
     FPRINTF (stdout, _("Publishing `%s' done.\n"),
@@ -156,8 +156,7 @@
         GNUNET_SCHEDULER_cancel (kill_task);
         kill_task = GNUNET_SCHEDULER_NO_TASK;
       }
-      GNUNET_SCHEDULER_add_continuation (&do_stop_task, NULL,
-                                         GNUNET_SCHEDULER_REASON_PREREQ_DONE);
+      kill_task = GNUNET_SCHEDULER_add_now (&do_stop_task, NULL);
     }
     break;
   case GNUNET_FS_STATUS_PUBLISH_STOPPED:
@@ -682,6 +681,8 @@
      0, &GNUNET_GETOPT_set_one, &verbose},
     GNUNET_GETOPT_OPTION_END
   };
+  GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
+             "GNUnet publish starts\n");
   bo.expiration_time =
       GNUNET_FS_year_to_time (GNUNET_FS_get_current_year () + 2);
   return (GNUNET_OK ==




reply via email to

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