gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r13762 - gnunet/src/core


From: gnunet
Subject: [GNUnet-SVN] r13762 - gnunet/src/core
Date: Mon, 22 Nov 2010 17:47:16 +0100

Author: nevans
Date: 2010-11-22 17:47:16 +0100 (Mon, 22 Nov 2010)
New Revision: 13762

Modified:
   gnunet/src/core/core_api.c
Log:
invariant pr->pending_head <> NULL still getting violated

Modified: gnunet/src/core/core_api.c
===================================================================
--- gnunet/src/core/core_api.c  2010-11-22 13:31:38 UTC (rev 13761)
+++ gnunet/src/core/core_api.c  2010-11-22 16:47:16 UTC (rev 13762)
@@ -1520,14 +1520,22 @@
 
   /* Order entries by deadline, but SKIP 'HEAD' if
      we're in the 'ready_peer_*' DLL */
-  pos = pr->pending_head;
-  if ( (pr->prev != NULL) ||
-       (pr->next != NULL) ||
-       (pr == handle->ready_peer_head) )
+  /* FIXME: again, pr->pending_head is NULL after a reconnect_later call */
+  if (pr->pending_head != NULL)
     {
-      GNUNET_assert (pos != NULL);
-      pos = pos->next; /* skip head */
+      pos = pr->pending_head;
+      if ( (pr->prev != NULL) ||
+           (pr->next != NULL) ||
+           (pr == handle->ready_peer_head) )
+        {
+          GNUNET_assert (pos != NULL);
+          pos = pos->next; /* skip head */
+        }
     }
+  else
+    {
+      GNUNET_break(0);
+    }
 
   /* insertion sort */
   prev = pos;
@@ -1587,7 +1595,7 @@
           (pr == h->ready_peer_head) )
        {
          /* the request that was 'approved' by core was
-            cancelled before it could be transmitted; remove
+            canceled before it could be transmitted; remove
             us from the 'ready' list */
          GNUNET_CONTAINER_DLL_remove (h->ready_peer_head,
                                       h->ready_peer_tail,




reply via email to

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