gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r21376 - gnunet/src/util


From: gnunet
Subject: [GNUnet-SVN] r21376 - gnunet/src/util
Date: Wed, 9 May 2012 13:55:09 +0200

Author: grothoff
Date: 2012-05-09 13:55:09 +0200 (Wed, 09 May 2012)
New Revision: 21376

Modified:
   gnunet/src/util/server.c
Log:
-trying to fix #5817

Modified: gnunet/src/util/server.c
===================================================================
--- gnunet/src/util/server.c    2012-05-09 11:44:42 UTC (rev 21375)
+++ gnunet/src/util/server.c    2012-05-09 11:55:09 UTC (rev 21376)
@@ -964,7 +964,6 @@
   }
   if ((GNUNET_SYSERR == ret) || (GNUNET_YES == client->shutdown_now))
     GNUNET_SERVER_client_disconnect (client);
-  GNUNET_SERVER_client_drop (client);
 }
 
 
@@ -1031,6 +1030,7 @@
         GNUNET_SERVER_mst_receive (client->mst, client, buf, available, 
GNUNET_NO,
                                    GNUNET_YES);
   process_mst (client, ret);
+  GNUNET_SERVER_client_drop (client);
 }
 
 
@@ -1061,6 +1061,7 @@
   GNUNET_SERVER_client_keep (client);
   client->receive_pending = GNUNET_NO;
   process_mst (client, GNUNET_NO);
+  GNUNET_SERVER_client_drop (client);
 }
 
 
@@ -1470,7 +1471,10 @@
   {
     LOG (GNUNET_ERROR_TYPE_DEBUG,
          "GNUNET_SERVER_receive_done called with failure indication\n");
-    GNUNET_SERVER_client_disconnect (client);
+    if (client->reference_count > 0)
+      client->shutdown_now = GNUNET_YES;
+    else
+      GNUNET_SERVER_client_disconnect (client);
     return;
   }
   if (client->suspended > 0)




reply via email to

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