gnunet-svn
[Top][All Lists]
Advanced

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

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


From: gnunet
Subject: [GNUnet-SVN] r13672 - gnunet/src/core
Date: Sat, 13 Nov 2010 22:57:39 +0100

Author: grothoff
Date: 2010-11-13 22:57:39 +0100 (Sat, 13 Nov 2010)
New Revision: 13672

Modified:
   gnunet/src/core/core_api.c
   gnunet/src/core/test_core_api_start_only.c
Log:
fixes

Modified: gnunet/src/core/core_api.c
===================================================================
--- gnunet/src/core/core_api.c  2010-11-13 20:58:23 UTC (rev 13671)
+++ gnunet/src/core/core_api.c  2010-11-13 21:57:39 UTC (rev 13672)
@@ -371,9 +371,11 @@
  * one to the core.
  *
  * @param h core handle
+ * @param ignore_currently_down transmit message even if not initialized?
  */
 static void
-trigger_next_request (struct GNUNET_CORE_Handle *h);
+trigger_next_request (struct GNUNET_CORE_Handle *h,
+                     int ignore_currently_down);
 
 
 /**
@@ -425,7 +427,7 @@
     }
   if (NULL == (th = pr->pending_head))
     {
-      trigger_next_request (h);
+      trigger_next_request (h, GNUNET_NO);
       return;
     }
   GNUNET_assert (pr->prev == NULL);
@@ -451,7 +453,7 @@
                                     h->pending_tail,
                                     h->pending_tail,
                                     cm);
-  trigger_next_request (h);
+  trigger_next_request (h, GNUNET_NO);
 }
 
 
@@ -514,7 +516,7 @@
       msize = ntohs (hdr->size);
       if (size < msize)
        {
-         trigger_next_request (h);
+         trigger_next_request (h, GNUNET_NO);
          return 0;
        }
       memcpy (buf, hdr, msize);
@@ -524,7 +526,7 @@
       if (NULL != cm->cont)
        GNUNET_SCHEDULER_add_now (cm->cont, cm->cont_cls);
       GNUNET_free (cm);
-      trigger_next_request (h);
+      trigger_next_request (h, GNUNET_NO);
       return msize;
     }
   /* now check for 'ready' P2P messages */
@@ -533,7 +535,7 @@
       th = pr->pending_head;
       if (size < th->msize + sizeof (struct SendMessage))
        {
-         trigger_next_request (h);
+         trigger_next_request (h, GNUNET_NO);
          return 0;
        }
       GNUNET_CONTAINER_DLL_remove (h->ready_peer_head,
@@ -597,13 +599,16 @@
  * one to the core.
  *
  * @param h core handle
+ * @param ignore_currently_down transmit message even if not initialized?
  */
 static void
-trigger_next_request (struct GNUNET_CORE_Handle *h)
+trigger_next_request (struct GNUNET_CORE_Handle *h,
+                     int ignore_currently_down)
 {
   uint16_t msize;
 
-  if (GNUNET_YES == h->currently_down)
+  if ( (GNUNET_YES == h->currently_down) &&
+       (ignore_currently_down == GNUNET_NO) )
     return;
   if (NULL != h->cth)
     return;
@@ -748,7 +753,7 @@
       if (GNUNET_YES == h->currently_down)
        {
          h->currently_down = GNUNET_NO;
-         trigger_next_request (h);
+         trigger_next_request (h, GNUNET_NO);
        }
       if (NULL != (init = h->init))
        {
@@ -809,7 +814,7 @@
                  (h->ready_peer_head == pr) );
       disconnect_and_free_peer_entry (h, &dnm->peer.hashPubKey, pr);
       if (trigger)
-       trigger_next_request (h);
+       trigger_next_request (h, GNUNET_NO);
       break;
     case GNUNET_MESSAGE_TYPE_CORE_NOTIFY_STATUS_CHANGE:
       if (NULL == h->status_events)
@@ -959,7 +964,7 @@
       GNUNET_CONTAINER_DLL_insert (h->ready_peer_head,
                                   h->ready_peer_tail,
                                   pr);
-      trigger_next_request (h);
+      trigger_next_request (h, GNUNET_NO);
       break;
     case GNUNET_MESSAGE_TYPE_CORE_CONFIGURATION_INFO:
       if (ntohs (msg->size) != sizeof (struct ConfigurationInfoMessage))
@@ -1097,7 +1102,7 @@
   GNUNET_CONTAINER_DLL_insert (h->pending_head,
                               h->pending_tail,
                               cm);
-  trigger_next_request (h);
+  trigger_next_request (h, GNUNET_YES);
 }
 
 
@@ -1156,6 +1161,7 @@
   h->outbound_hdr_only = outbound_hdr_only;
   h->handlers = handlers;
   h->hcnt = 0;
+  h->peers = GNUNET_CONTAINER_multihashmap_create (128);
   while (handlers[h->hcnt].callback != NULL)
     h->hcnt++;
   GNUNET_assert (h->hcnt <
@@ -1466,7 +1472,7 @@
   cm->cont = &peer_request_connect_cont;
   cm->cont_cls = ret;
   if (h->pending_head == cm)
-    trigger_next_request (h);
+    trigger_next_request (h, GNUNET_NO);
   return ret;
 }
 

Modified: gnunet/src/core/test_core_api_start_only.c
===================================================================
--- gnunet/src/core/test_core_api_start_only.c  2010-11-13 20:58:23 UTC (rev 
13671)
+++ gnunet/src/core/test_core_api_start_only.c  2010-11-13 21:57:39 UTC (rev 
13672)
@@ -31,7 +31,7 @@
 #include "gnunet_program_lib.h"
 #include "gnunet_scheduler_lib.h"
 
-#define VERBOSE GNUNET_NO
+#define VERBOSE GNUNET_YES
 
 #define START_ARM GNUNET_YES
 
@@ -176,6 +176,8 @@
 static void
 stop_arm (struct PeerContext *p)
 {
+  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+             "Stopping peer\n");
 #if START_ARM
   if (0 != GNUNET_OS_process_kill (p->arm_proc, SIGTERM))
     GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING, "kill");
@@ -208,6 +210,8 @@
   ok = 1;
   GNUNET_PROGRAM_run ((sizeof (argv) / sizeof (char *)) - 1,
                       argv, "test-core-api-start-only", "nohelp", options, 
&run, &ok);
+  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+             "Test finished\n");
   stop_arm (&p1);
   stop_arm (&p2);
   return ok;




reply via email to

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