#include #include #include #include #include #include #include #include #include #include #include #include void sigHandler(int sig) { //TODO: exit(0); } int main(int argc, char *argv[]){ input_server_t input = check_input(argc, argv); // SHM int shmBoardid = getShmid(input.rows, input.collums); tile_t *board = shmServerAt(shmBoardid); // // SEM key_t semKey = ftok(KEYFILE, 'S'); int semid = getSemid(semKey, 2); // // SIGNAL sigset_t mySet; sigfillset(&mySet); sigdelset(&mySet, SIGINT); sigprocmask(SIG_SETMASK, &mySet, NULL); if (signal(SIGINT, sigHandler) == SIG_ERR) errExit("signal", "f4Server"); resetServerSem(semid); // // MSGQ key_t msgKey = ftok(KEYFILE, 'M'); int msqid = msgget(msgKey, IPC_CREAT | S_IRUSR | S_IWUSR); if (msqid == -1) errExit("msgq", "F4Server"); // semOp(semid, 0, 2); // aperurta semaforo per connessione dei due client semOp(semid, 0, 0); // aspetto che si connettano i due client // faccio quello che devo fare return 0; }