Exemple #1
0
Fichier : tac.c Projet : lufb/code
static void
_tac(int tac_fileno, size_t file_size)
{
    void                *p_mmap;

    if((p_mmap = mmap(0, file_size,
                      PROT_READ, MAP_PRIVATE,
                      tac_fileno, 0)) == MAP_FAILED)
    {
        perror("mmap");
        close(tac_fileno);
        exit(EXIT_FAILURE);
    }

    deal_mem((char *)p_mmap, file_size);

    if(munmap(p_mmap, file_size) < 0)
    {
        perror("munmap");
        close(tac_fileno);
        exit(EXIT_FAILURE);
    }

    close(tac_fileno);
}
Exemple #2
0
int  UsrAccConfig::init(const char* cfg) {
	cfg_file(cfg);

	std::ifstream infile;
	infile.open(cfg,std::ios::in);
	std::string read_line;
	std::string read_section;
	unsigned int find_pos;
	std::string read_value;
	std::string read_key;
	if (infile.is_open()) {
		while (!infile.eof()) {
			std::getline(infile,read_line);

			if (read_line.find("#") != std::string::npos) {
				read_line.erase(read_line.find("#"));
			}

			if (read_line.find("//") != std::string::npos) {
				read_line.erase(read_line.find("//"));
			}

			if (read_line.length()==0) {continue;}


			if (read_line.find("[") != std::string::npos && read_line.find("]")!=std::string::npos) {
				read_section = read_line.substr(read_line.find("[")+1,read_line.find("]")-1);
			} else {
				if ((find_pos=read_line.find("=")) != std::string::npos) {
					if (read_section == "LoggerConfiguration") {
						deal_logger_configuration(read_line,find_pos);

						// initializing logger ...
						if (logger_config_file_ != "") {
							CommonLogger::instance().init(logger_config_file_.c_str(), "acc");
						}

					} else if (read_section == "System") {
						if (deal_system(read_line,find_pos) == -1) {
							return -1;
						}
					} else if (read_section == "AppReqServer") {
						if (deal_app_req_server(read_line,find_pos) == -1) {
							return -1;
						}
					} else if (read_section == "MEM") {
						if (deal_mem(read_line,find_pos)) {
							return -1;
						}
					} else if (read_section == "ServLogic") {
						if (deal_serv_logic(read_line,find_pos) == -1) {
							return -1;
						}
					}  else if (read_section == "FileManage") {
						if (deal_file_manage(read_line,find_pos) == -1) {
							return -1;
						}
					} else {
						printf("%s%s\n","unknown section name : ", read_section.c_str());
						return -1;
					}
				}
			}
		}

		if (logger_config_file_ == "") {
			return -1;
		}
	} else {
		printf("%s\n","failed to open the configuration file.");
		return -1;
	}
	return 0;
}