Esempio n. 1
0
int csserv_init(void) {
	ListenHost = cfg_getstr("CSSERV_LISTEN_HOST","*");
	ListenPort = cfg_getstr("CSSERV_LISTEN_PORT",DEFAULT_CS_DATA_PORT);

	lsock = tcpsocket();
	if (lsock<0) {
		mfs_errlog(LOG_ERR,"main server module: can't create socket");
		return -1;
	}
	tcpnonblock(lsock);
	tcpnodelay(lsock);
	tcpreuseaddr(lsock);
	tcpresolve(ListenHost,ListenPort,&mylistenip,&mylistenport,1);
	if (tcpnumlisten(lsock,mylistenip,mylistenport,100)<0) {
		mfs_errlog(LOG_ERR,"main server module: can't listen on socket");
		return -1;
	}
	if (tcpsetacceptfilter(lsock)<0 && errno!=ENOTSUP) {
		mfs_errlog_silent(LOG_NOTICE,"main server module: can't set accept filter");
	}
	mfs_arg_syslog(LOG_NOTICE,"main server module: listen on %s:%s",ListenHost,ListenPort);

	csservhead = NULL;
	main_reload_register(csserv_reload);
	main_destruct_register(csserv_term);
	main_poll_register(csserv_desc,csserv_serve);

	return 0;
}
Esempio n. 2
0
int masterconn_init(void) {
    uint32_t ReconnectionDelay;
    uint32_t MetaDLFreq;
    masterconn *eptr;


    ReconnectionDelay = cfg_getuint32("MASTER_RECONNECTION_DELAY",5);
    MasterHost = cfg_getstr("MASTER_HOST",DEFAULT_MASTERNAME);
    MasterPort = cfg_getstr("MASTER_PORT",DEFAULT_MASTER_CONTROL_PORT);
    BindHost = cfg_getstr("BIND_HOST","*");
    Timeout = cfg_getuint32("MASTER_TIMEOUT",10);
    BackLogsNumber = cfg_getuint32("BACK_LOGS",50);
    BackMetaCopies = cfg_getuint32("BACK_META_KEEP_PREVIOUS",3);
    MetaDLFreq = cfg_getuint32("META_DOWNLOAD_FREQ",24);

    if (Timeout>65535) {
        Timeout=65535;
    }
    if (Timeout<10) {
        Timeout=10;
    }
    if (BackLogsNumber<5) {
        BackLogsNumber=5;
    }
    if (BackLogsNumber>10000) {
        BackLogsNumber=10000;
    }
    if (MetaDLFreq>(BackLogsNumber/2)) {
        MetaDLFreq=BackLogsNumber/2;
    }
    eptr = masterconnsingleton = malloc(sizeof(masterconn));
    passert(eptr);

    eptr->masteraddrvalid = 0;
    eptr->mode = FREE;
    eptr->pdescpos = -1;
    eptr->logfd = NULL;
    eptr->metafd = -1;
    eptr->oldmode = 0;

    masterconn_findlastlogversion();
    if (masterconn_initconnect(eptr)<0) {
        return -1;
    }
    reconnect_hook = main_time_register(ReconnectionDelay,0,masterconn_reconnect);
    download_hook = main_time_register(MetaDLFreq*3600,630,masterconn_metadownloadinit);
    main_destruct_register(masterconn_term);
    main_poll_register(masterconn_desc,masterconn_serve);
    main_reload_register(masterconn_reload);
    main_time_register(1,0,masterconn_metachanges_flush);
    return 0;
}
Esempio n. 3
0
int job_init(void) {
//	globalpool = (jobpool*)malloc(sizeof(jobpool));
	exiting = 0;
	globalpool = job_pool_new(cfg_getuint32("WORKERS_QUEUE_LENGTH",250)); // deprecated option

	job_reload();

	main_destruct_register(job_term);
	main_wantexit_register(job_wantexit);
	main_canexit_register(job_canexit);
	main_reload_register(job_reload);
	main_eachloop_register(job_heavyload_test);
	main_poll_register(job_desc,job_serve);
	return 0;
}