From 413dc1b0b4efc93755507134cb9a6d092c02aea2 Mon Sep 17 00:00:00 2001 From: Reiner Herrmann Date: Wed, 26 Jan 2011 18:05:40 +0100 Subject: wait until child (server) terminates at end --- src/game.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src/game.c') diff --git a/src/game.c b/src/game.c index 9c0f353..9087832 100644 --- a/src/game.c +++ b/src/game.c @@ -7,8 +7,8 @@ #include #include #include -#include #include +#include #include "ui.h" #include "data_store.h" #include "net/comm.h" @@ -99,7 +99,7 @@ void start_game(const bool servermode, const char* addr, const char* port, const if(servermode) { pid_t child = fork(); - server_process = (child == 0); + server_process = (child == 0); // start server as child } if(server_process) // Start server and connect to localhost @@ -138,6 +138,7 @@ void start_game(const bool servermode, const char* addr, const char* port, const int sock; sleep(1); // TODO make sure server process is listening + sock = client_connect_server(addr, port); data_store_t *data = data_store(); @@ -164,6 +165,9 @@ void start_game(const bool servermode, const char* addr, const char* port, const ple = &data->player_list.players[i]; printf("%s: %d\n", ple->player_name, ple->score); } + + if(servermode) // wait until server (child) has exited + wait(NULL); } destroy_data_store(); -- cgit v1.2.3