void esperarMensaje(t_personaje *personaje) {
	t_mensaje* mensaje = socketRecv(personaje->connPlanificador, handleConnectionError);
	if(!mensaje) {
		return;
	}
	if(mensaje->id == SIGUIENTE_TURNO) {
		hacerMovimiento(personaje);
	}
	else if(mensaje->id == MUERTO_ESTAS) {
		morir(personaje, MUERTE_PLANIFICADOR);
	}
	else {
		log_error(logger, "No se esperaba lo que llegó, llegó: id: %d, payload: %s.", mensaje->id, mensaje->payload);
		exit(EXIT_FAILURE);
	}
}
Beispiel #2
0
int main(int argc, char* argv[]) {

	if (!verificar_argumentos(argc, argv)) {
		return EXIT_FAILURE;
	}

	t_personaje* self = personaje_create(argv[1]);

	if (self == NULL ) {
		return EXIT_FAILURE;
	}

	log_debug(self->logger, "Personaje %s creado", self->nombre);

	void sigterm_handler(int signum) {
		morir(self, "Muerte por señal");
	}