gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r21044 - gnunet/src/datastore


From: gnunet
Subject: [GNUnet-SVN] r21044 - gnunet/src/datastore
Date: Thu, 19 Apr 2012 21:06:06 +0200

Author: grothoff
Date: 2012-04-19 21:06:06 +0200 (Thu, 19 Apr 2012)
New Revision: 21044

Modified:
   gnunet/src/datastore/datastore_api.c
Log:
-fix

Modified: gnunet/src/datastore/datastore_api.c
===================================================================
--- gnunet/src/datastore/datastore_api.c        2012-04-19 18:57:41 UTC (rev 
21043)
+++ gnunet/src/datastore/datastore_api.c        2012-04-19 19:06:06 UTC (rev 
21044)
@@ -270,6 +270,22 @@
 
 
 /**
+ * Task used by 'transmit_drop' to disconnect the datastore.
+ *
+ * @param cls the datastore handle
+ * @param tc scheduler context
+ */
+static void
+disconnect_after_drop (void *cls,
+                      const struct GNUNET_SCHEDULER_TaskContext *tc)
+{
+  struct GNUNET_DATASTORE_Handle *h = cls;
+
+  GNUNET_DATASTORE_disconnect (h, GNUNET_NO);
+}
+
+
+/**
  * Transmit DROP message to datastore service.
  *
  * @param cls the 'struct GNUNET_DATASTORE_Handle'
@@ -287,14 +303,16 @@
   {
     LOG (GNUNET_ERROR_TYPE_WARNING,
          _("Failed to transmit request to drop database.\n"));
-    GNUNET_DATASTORE_disconnect (h, GNUNET_NO);
+    GNUNET_SCHEDULER_add_continuation (&disconnect_after_drop, h,
+                                      GNUNET_SCHEDULER_REASON_PREREQ_DONE);
     return 0;
   }
   GNUNET_assert (size >= sizeof (struct GNUNET_MessageHeader));
   hdr = buf;
   hdr->size = htons (sizeof (struct GNUNET_MessageHeader));
   hdr->type = htons (GNUNET_MESSAGE_TYPE_DATASTORE_DROP);
-  GNUNET_DATASTORE_disconnect (h, GNUNET_NO);
+  GNUNET_SCHEDULER_add_continuation (&disconnect_after_drop, h,
+                                    GNUNET_SCHEDULER_REASON_PREREQ_DONE);
   return sizeof (struct GNUNET_MessageHeader);
 }
 




reply via email to

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