gnunet-svn
[Top][All Lists]
Advanced

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

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


From: gnunet
Subject: [GNUnet-SVN] r15699 - gnunet/src/core
Date: Fri, 17 Jun 2011 16:30:59 +0200

Author: grothoff
Date: 2011-06-17 16:30:59 +0200 (Fri, 17 Jun 2011)
New Revision: 15699

Modified:
   gnunet/src/core/gnunet-service-core.c
Log:
cleanup

Modified: gnunet/src/core/gnunet-service-core.c
===================================================================
--- gnunet/src/core/gnunet-service-core.c       2011-06-17 14:22:04 UTC (rev 
15698)
+++ gnunet/src/core/gnunet-service-core.c       2011-06-17 14:30:59 UTC (rev 
15699)
@@ -2812,7 +2812,11 @@
   if (msize <
       sizeof (struct SendMessage) + sizeof (struct GNUNET_MessageHeader))
     {
-      GNUNET_log(GNUNET_ERROR_TYPE_WARNING, "about to assert fail, msize is 
%d, should be at least %d\n", msize, sizeof (struct SendMessage) + sizeof 
(struct GNUNET_MessageHeader));
+      GNUNET_log (GNUNET_ERROR_TYPE_ERROR, 
+                 "msize is %u, should be at least %u (in %s:%d)\n",
+                 msize,
+                 sizeof (struct SendMessage) + sizeof (struct 
GNUNET_MessageHeader),
+                 __FILE__, __LINE__);
       GNUNET_break (0);
       if (client != NULL)
         GNUNET_SERVER_receive_done (client, GNUNET_SYSERR);
@@ -2834,8 +2838,20 @@
       return;
     }
   n = find_neighbour (&sm->peer);
-  if (n == NULL)
-    n = create_neighbour (&sm->peer);
+  if ( (n == NULL) ||
+       (GNUNET_YES != n->is_connected) ||
+       (n->status != PEER_STATE_KEY_CONFIRMED) )
+    {
+      /* attempt to send message to peer that is not connected anymore 
+        (can happen due to asynchrony) */      
+      GNUNET_STATISTICS_update (stats,
+                               gettext_noop ("# messages discarded 
(disconnected)"), 
+                               1, 
+                               GNUNET_NO);
+      if (client != NULL)
+        GNUNET_SERVER_receive_done (client, GNUNET_OK);
+      return;
+    }
 #if DEBUG_CORE
   GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
               "Core received `%s' request, queueing %u bytes of plaintext data 
for transmission to `%4s'.\n",




reply via email to

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