bool cargar_config(char *configFile)
{
	config = config_create(configFile);

	if( !validar_configuracion() ) {
		return false;
	}

	cargar_semaforos();
	cargar_variablesCompartidas();
	cargar_dispositivos();

	return true;
}
int loadInfo(stEstado* info, char inotify) {

	t_config* miConf, *otraConf;

	if (inotify==0) {
		miConf = config_create(info->path_conf); /*Estructura de configuracion*/
		info->dispositivos = list_create();
		inicializar_semaforos();
		inicializar_lista_shared_var();

		if (miConf == NULL) {
			log_error("Error iniciando la configuracion...\n");
			return EXIT_FAILURE;
		}
		if (config_has_property(miConf, "IP")) {
			info->miIP = config_get_string_value(miConf, "IP");
		} else {
			log_error("Parametro no cargado en el archivo de configuracion\n \"%s\"  \n", "IP");
			return EXIT_FAILURE;
		}

		if (config_has_property(miConf, "PUERTO")) {
			info->miPuerto = config_get_int_value(miConf, "PUERTO");
		} else {
			log_error("Parametro no cargado en el archivo de configuracion\n \"%s\"  \n", "PUERTO");
			return EXIT_FAILURE;
		}

		if (config_has_property(miConf, "IP_UMC")) {
			info->ipUmc = config_get_string_value(miConf, "IP_UMC");
		} else {
			log_error("Parametro no cargado en el archivo de configuracion\n \"%s\"  \n", "IP_UMC");
			return EXIT_FAILURE;
		}

		if (config_has_property(miConf, "PUERTO_UMC")) {
			info->puertoUmc = config_get_int_value(miConf, "PUERTO_UMC");
		} else {
			log_error("Parametro no cargado en el archivo de configuracion\n \"%s\"  \n", "PUERTO_UMC");
			return EXIT_FAILURE;
		}

		if (config_has_property(miConf, "QUANTUM")) {
			info->quantum = config_get_int_value(miConf, "QUANTUM");
		} else {
			log_error("Parametro no cargado en el archivo de configuracion\n \"%s\"  \n", "QUANTUM");
			return EXIT_FAILURE;
		}

		if (config_has_property(miConf, "QUANTUM_SLEEP")) {
			info->quantumSleep = config_get_int_value(miConf, "QUANTUM_SLEEP");
		} else {
			log_error("Parametro no cargado en el archivo de configuracion\n \"%s\"  \n", "QUANTUM_SLEEP");
			return EXIT_FAILURE;
		}

		if (!config_has_property(miConf, "SEM_IDS") || !config_has_property(miConf, "SEM_INIT")) {
			log_error("Parametro no cargado en el archivo de configuracion\n \"%s\"  \n", "SEM_IDS");
			return EXIT_FAILURE;
		} else {
			cargar_semaforos(config_get_array_value(miConf, "SEM_IDS"), config_get_array_value(miConf, "SEM_INIT"));
		}

		if (!config_has_property(miConf, "IO_IDS") || !config_has_property(miConf, "IO_SLEEP")) {
			log_error("Parametros de dispositivos no cargados en el archivo de configuracion");
			return EXIT_FAILURE;
		} else {
			cargar_dipositivos(info, config_get_array_value(miConf, "IO_IDS"), config_get_array_value(miConf, "IO_SLEEP"));
		}

		if (config_has_property(miConf, "SHARED_VARS")) {
			cargar_sharedVars(config_get_array_value(miConf, "SHARED_VARS"));
		} else {
			log_error("Parametro no cargado en el archivo de configuracion\n \"%s\"  \n", "SHARED_VARS");
			return EXIT_FAILURE;
		}

		if (config_has_property(miConf, "STACK_SIZE")) {
			info->stackSize = config_get_int_value(miConf, "STACK_SIZE");
		} else {
			log_error("Parametro no cargado en el archivo de configuracion\n \"%s\"  \n", "STACK_SIZE");
			return EXIT_FAILURE;
		}
		inotify++;
		return EXIT_SUCCESS;
	} else {
		otraConf = config_create(info->path_conf);
		if (config_has_property(otraConf, "QUANTUM")) {
			info->quantum = config_get_int_value(otraConf, "QUANTUM");
			info->quantumSleep = config_get_int_value(otraConf, "QUANTUM_SLEEP");
		} else {
			return EXIT_FAILURE;
		}
		config_destroy(otraConf);
		log_info("Quantum [%d], Quantum Sleep [%d]", info->quantum, info->quantumSleep);
		return EXIT_SUCCESS;
	}
}