increment RC to ensure that process_client_buffer does not destroy by chance
authorChristian Grothoff <christian@grothoff.org>
Fri, 13 Nov 2009 11:45:59 +0000 (11:45 +0000)
committerChristian Grothoff <christian@grothoff.org>
Fri, 13 Nov 2009 11:45:59 +0000 (11:45 +0000)
src/util/server.c

index de81a08ea020f8b40a79e61d421eb93a56379435..e79a824ba5b839575b01649b27ee209b0e879d96 100644 (file)
@@ -777,11 +777,13 @@ restart_processing (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
 {
   struct GNUNET_SERVER_Client *client = cls;
 
+  GNUNET_SERVER_client_keep (client);
   process_client_buffer (client);
   if (0 == client->suspended)
     client->receive (client->client_closure,
                      GNUNET_SERVER_MAX_MESSAGE_SIZE,
                      client->server->idle_timeout, &process_incoming, client);
+  GNUNET_SERVER_client_drop (client);
 }