Index: server/sernet.c =================================================================== RCS file: /home/freeciv/CVS/freeciv/server/sernet.c,v retrieving revision 1.95 diff -u -r1.95 sernet.c --- server/sernet.c 2002/09/27 12:32:47 1.95 +++ server/sernet.c 2002/10/16 17:49:10 @@ -348,8 +348,10 @@ if(year!=game.year) { if (server_state == RUN_GAME_STATE) year=game.year; } - if (game.timeout == 0) + if (game.timeout == 0) { + /* Just in case someone sets timeout we keep game.turn_start updated */ game.turn_start = time(NULL); + } while(TRUE) { con_prompt_on(); /* accepting new input */ @@ -482,8 +484,10 @@ #endif /* !__VMS */ } } - if (game.timeout == 0) + if (game.timeout == 0) { + /* Just in case someone sets timeout we keep game.turn_start updated */ game.turn_start = time(NULL); + } if(FD_ISSET(sock, &exceptfs)) { /* handle Ctrl-Z suspend/resume */ continue; Index: server/srv_main.c =================================================================== RCS file: /home/freeciv/CVS/freeciv/server/srv_main.c,v retrieving revision 1.97 diff -u -r1.97 srv_main.c --- server/srv_main.c 2002/09/28 01:36:24 1.97 +++ server/srv_main.c 2002/10/16 17:49:11 @@ -542,7 +542,6 @@ server_state=SELECT_RACES_STATE; /* loaded ??? */ force_end_of_sniff = TRUE; - game.turn_start = time(NULL); } /************************************************************************** @@ -1992,6 +1991,10 @@ } players_iterate_end; } + /* We want to reset the timer as late as possible but before the info is + * sent to the clients */ + game.turn_start = time(NULL); + lsend_packet_generic_empty(&game.est_connections, PACKET_FREEZE_HINT); send_all_info(&game.game_connections); lsend_packet_generic_empty(&game.est_connections, PACKET_THAW_HINT);