diff -Nur -X/mnt/data/freeciv-dev/freeciv/diff_ignore freeciv/server/barbarian.c codeciv/server/barbarian.c --- freeciv/server/barbarian.c Thu Dec 6 17:42:50 2001 +++ codeciv/server/barbarian.c Thu Dec 6 20:28:55 2001 @@ -104,7 +104,7 @@ if( newplayer >= MAX_NUM_PLAYERS + MAX_NUM_BARBARIANS ) { freelog( LOG_FATAL, "Too many players?"); - exit(1); + abort(); } barbarians = &game.players[newplayer]; diff -Nur -X/mnt/data/freeciv-dev/freeciv/diff_ignore freeciv/server/sernet.c codeciv/server/sernet.c --- freeciv/server/sernet.c Thu Dec 6 17:42:54 2001 +++ codeciv/server/sernet.c Thu Dec 6 20:29:02 2001 @@ -137,6 +137,8 @@ static int readline_handled_input = 0; +static int readline_initialized = 0; + /***************************************************************************** ... *****************************************************************************/ @@ -187,7 +189,13 @@ void close_connections_and_socket(void) { int i; - + + struct packet_generic_message gen_packet; + gen_packet.message[0]='\0'; + + lsend_packet_generic_message(&game.all_connections, PACKET_SERVER_SHUTDOWN, + &gen_packet); + for(i=0; i