diff --git a/inc/server.h b/inc/server.h index ee3ea97..14359f4 100644 --- a/inc/server.h +++ b/inc/server.h @@ -5,6 +5,8 @@ extern input_server_t _INPUT_S; +void setupServer(); + input_server_t check_input(int argc, char *argv[]); #endif \ No newline at end of file diff --git a/src/F4Server.c b/src/F4Server.c index c49190a..d48abb9 100644 --- a/src/F4Server.c +++ b/src/F4Server.c @@ -22,17 +22,9 @@ int main(int argc, char *argv[]){ printf("Il mio pid per killarmi: %d\n", getpid()); //FIXME: TMP - // CHECK_INPUT - _INPUT_S = check_input(argc, argv); - - // SIGNAL - printf(PSERVER "Setting up signals\n"); - setupServerSignalHandler(); - - // MSGQ - printf(PSERVER "Setting up msgq\n"); - setupServerMsgq(); + setupServer(); //TODO: passare struct con id + //FIXME: fixare usando le var globali prima di mettere in setupServer // SHM //TODO: forse bisogna fare il reset della shm, perche in teoria mette a 0 quando crea //ma nel caso in cui il campo non si fosse chiuso per qualche motivo forse quando lo riapre non lo azzera @@ -41,13 +33,9 @@ int main(int argc, char *argv[]){ _BOARD = shmServerAt(_SHMID); // - // SEM - printf(PSERVER "Setting up sem\n"); - setupServerSem(); - // - // aperurta semaforo per connessione dei due client + // aperta semaforo per connessione dei due client printf(PSERVER "Waiting for players...\n"); semOp(_SEMID, 0, 1); semOp(_SEMID, 1, 1); diff --git a/src/custom_sig.c b/src/custom_sig.c index dc1ac21..76529ee 100644 --- a/src/custom_sig.c +++ b/src/custom_sig.c @@ -63,6 +63,7 @@ void sigHandlerServer(int sig) { printf(PSERVER "Terminating player two\n"); kill(_PIDS[1], SIGTERM); } + // // msgq if (_MSGQID) { diff --git a/src/server.c b/src/server.c index 519886b..2e08719 100644 --- a/src/server.c +++ b/src/server.c @@ -8,9 +8,31 @@ #include #include +#include + input_server_t _INPUT_S; +void setupServer(){ + // CHECK_INPUT + _INPUT_S = check_input(argc, argv); + + // MSGQ + printf(PSERVER "Setting up msgq\n"); + setupServerMsgq(); + + // SIGNAL + printf(PSERVER "Setting up signals\n"); + setupServerSignalHandler(); + + // SEM + printf(PSERVER "Setting up sem\n"); + setupServerSem(); + + +} + + input_server_t check_input(int argc, char *argv[]){ if (argc < 5) { printf("\033[92m\033[39m ./F4Server ROW COL PLAYER1 PLAYER2\n"