gnunet-svn
[Top][All Lists]
Advanced

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

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


From: gnunet
Subject: [GNUnet-SVN] r17702 - gnunet/src/core
Date: Mon, 24 Oct 2011 10:39:44 +0200

Author: grothoff
Date: 2011-10-24 10:39:44 +0200 (Mon, 24 Oct 2011)
New Revision: 17702

Modified:
   gnunet/src/core/gnunet-service-core_clients.c
Log:
fixing 1845

Modified: gnunet/src/core/gnunet-service-core_clients.c
===================================================================
--- gnunet/src/core/gnunet-service-core_clients.c       2011-10-24 08:29:21 UTC 
(rev 17701)
+++ gnunet/src/core/gnunet-service-core_clients.c       2011-10-24 08:39:44 UTC 
(rev 17702)
@@ -443,9 +443,16 @@
   tc.car = GNUNET_CONTAINER_multihashmap_get (c->requests, 
&sm->peer.hashPubKey);
   if (NULL == tc.car)
   {
-    /* client did not request transmission first! */
-    GNUNET_break (0);
-    GNUNET_SERVER_receive_done (client, GNUNET_SYSERR);
+    /* Must have been that we first approved the request, then got disconnected
+       (which triggered removal of the 'car') and now the client gives us a 
message
+       just *before* the client learns about the disconnect.  Theoretically, we
+       might also now be *again* connected.  So this can happen (but should be
+       rare).  If it does happen, the message is discarded. */
+    GNUNET_STATISTICS_update (GSC_stats, 
+                             gettext_noop ("# messages discarded (session 
disconnected)"),
+                             1,
+                             GNUNET_NO);
+    GNUNET_SERVER_receive_done (client, GNUNET_OK);
     return;
   }
   GNUNET_assert (GNUNET_YES ==




reply via email to

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