<URL: http://bugs.freeciv.org/Ticket/Display.html?id=39131 >
> [pepeto - Wed Jun 25 11:30:21 2008]: > > It actually occurs when the client connection is broken by the server > whereas the server is reading a packet from. A simple example is when > you attempt to cut yourself from the server. Then, your chat packet is > parsed by the server, server breaks your connection and tries to send > you processing_finished packet. > > For an unknown reason by me, the client is not able to recognize > anymore it is connected to the server after reconnection. > > So it seems a double bug between the server and client side. I traced the bug back to a missing initialization in common/connection.c. The compression.frozen_level field was not being cleared for new connections. So if it was non-zero when a connection was lost, it would cause all data to be stored into the compression buffer instead of being sent for new connections. ----------------------------------------------------------------------- 絶やした。
diff --git a/common/connection.c b/common/connection.c index ded24e4..48fc429 100644 --- a/common/connection.c +++ b/common/connection.c @@ -630,6 +630,7 @@ void connection_common_init(struct connection *pconn) #ifdef USE_COMPRESSION byte_vector_init(&pconn->compression.queue); + pconn->compression.frozen_level = 0; #endif }
_______________________________________________ Freeciv-dev mailing list Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev