gnunet-svn
[Top][All Lists]
Advanced

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

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


From: gnunet
Subject: [GNUnet-SVN] r13293 - gnunet/src/datastore
Date: Mon, 18 Oct 2010 14:40:28 +0200

Author: grothoff
Date: 2010-10-18 14:40:28 +0200 (Mon, 18 Oct 2010)
New Revision: 13293

Modified:
   gnunet/src/datastore/datastore_api.c
Log:
avoid disconnect on cancel

Modified: gnunet/src/datastore/datastore_api.c
===================================================================
--- gnunet/src/datastore/datastore_api.c        2010-10-18 11:52:53 UTC (rev 
13292)
+++ gnunet/src/datastore/datastore_api.c        2010-10-18 12:40:28 UTC (rev 
13293)
@@ -159,7 +159,7 @@
    * multiple of 64 bits.
    */
   int32_t was_transmitted;
-
+  
 };
 
 /**
@@ -684,9 +684,10 @@
       free_queue_entry (qe);
       if (NULL == h->client)
        return; /* forced disconnect */
-      rc.cont (rc.cont_cls, 
-              GNUNET_SYSERR,
-              _("Failed to receive response from database."));
+      if (rc.cont != NULL)
+       rc.cont (rc.cont_cls, 
+                GNUNET_SYSERR,
+                _("Failed to receive status response from database."));
       if (was_transmitted == GNUNET_YES)
        do_disconnect (h);
       return;
@@ -700,9 +701,10 @@
       GNUNET_break (0);
       h->retry_time = GNUNET_TIME_UNIT_ZERO;
       do_disconnect (h);
-      rc.cont (rc.cont_cls, 
-              GNUNET_SYSERR,
-              _("Error reading response from datastore service"));
+      if (rc.cont != NULL)
+       rc.cont (rc.cont_cls, 
+                GNUNET_SYSERR,
+                _("Error reading response from datastore service"));
       return;
     }
   sm = (const struct StatusMessage*) msg;
@@ -730,9 +732,10 @@
              emsg);
 #endif
   process_queue (h);
-  rc.cont (rc.cont_cls, 
-          status,
-          emsg);
+  if (rc.cont != NULL)
+    rc.cont (rc.cont_cls, 
+            status,
+            emsg);
 }
 
 
@@ -1384,20 +1387,15 @@
          qe->qc.rc.iter = NULL;    
          if (GNUNET_YES != h->in_receive)
            GNUNET_DATASTORE_get_next (h, GNUNET_YES);
-         return;
        }
-      reconnect = GNUNET_YES;
+      else
+       {
+         qe->qc.sc.cont = NULL;
+       }
+      return;
     }
   free_queue_entry (qe);
-  if (reconnect)
-    {
-      h->retry_time = GNUNET_TIME_UNIT_ZERO;
-      do_disconnect (h);
-    }
-  else
-    {
-      process_queue (h);
-    }
+  process_queue (h);
 }
 
 




reply via email to

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