void parm_Initialize( Int iter) {
/*======================================================*/
  static Bool beenhere = FALSE;
  char filename[FILENAME_MAX];

  if (beenhere) {
    if (BmassFlags.yearly) {
      sprintf(filename, "%s%0*d.out", Parm_name(F_BMassPre),
                                Globals.bmass.suffixwidth,
                                iter);
      if (Globals.bmass.fp_year != NULL) {
        LogError(logfp, LOGFATAL, "Programmer error: "
                        "Globals.bmass.fp_year not null"
                        " in parm_Initialize()");
      }
      Globals.bmass.fp_year = OpenFile(filename, "w");
      fprintf(Globals.bmass.fp_year, "%s\n", Globals.bmass.header_line);
    }

    if (MortFlags.yearly) {
      sprintf(filename, "%s%0*d.out", Parm_name(F_MortPre),
                                Globals.mort.suffixwidth,
                                iter);
      if (Globals.mort.fp_year != NULL) {
        LogError(logfp, LOGFATAL, "Programmer error: "
                        "Globals.mort.fp_year not null"
                        " in parm_Initialize()");
      }
      Globals.mort.fp_year = OpenFile(filename, "w");
      fprintf(Globals.mort.fp_year, "%s\n", Globals.mort.header_line);
    }

  } else {
    _globals_init();
    _files_init();
    _model_init();
    _env_init();
    _plot_init();
    _bmassflags_init();
    _mortflags_init();
    _rgroup_init();
    _species_init();
    _check_species();
	
    _bmasshdr_init();
    _morthdr_create();
    RandSeed(Globals.randseed);

/*    _recover_names(); */
    beenhere = TRUE;
  }

}
Пример #2
0
int
main(int argc, char** argv)
{
	int ch;
	const char * config_file = "config";

	while((ch = getopt(argc, argv, "c:hr")) != -1)
	{
		switch(ch)
		{
		case 'c':
			config_file = optarg;
			break;
		case 'h':
			fprintf(stdin,"reload...\n");  //TODO
			break;
		case 'r':
			fprintf(stdin,"reload...\n");  //TODO
			exit(1);
		default:
			fprintf(stderr,"unknown opt %c\n", ch);
			exit(1);
		}
	}

	tiny_env_init();

	struct lua_State *L = luaL_newstate();
	luaL_openlibs(L);
	lua_close(L);


	L = luaL_newstate();
	int err = luaL_dofile(L, config_file);
	if(err){
		fprintf(stderr, "load config file[%s]failed:[%s]\n", config_file, lua_tostring(L, -1));
		lua_close(L);
		exit(-1);
	}

	_env_init(L);
	config.daemonlized = _env_optint("daemon", 0);
	config.nthread = _env_optint("worker", 2);
	config.logpath = _env_optstring("logpath", "./");
	config.port = _env_optint("port", 27017);
	config.addr = _env_optstring("addr", "127.0.0.1");
	config.servicedir = _env_optstring("service", "service");

	start();

	exit(0);
}