Esempio n. 1
0
int main (int argc, char *argv[])
{
    maina();
    return (0);
}
Esempio n. 2
0
int main(int argc, char** argv){
	handle_parameters(argc,argv);
	Config::getInstance();
	handle_parameters(argc,argv);
	Config::getInstance()->print_configure();
#ifndef DEBUG_MODE
	bool master;
#ifndef AUTU_MASTER
	printf("If Master, please print 1!\n");
	int master=0;
	scanf("%d",&master);
#else
	master=Config::master;
#endif
	std::string actor;
	if(master)
		actor="master";
	else
		actor="slave";

#ifndef FORK
	if(master){
		Environment::getInstance(master);
//		create_poc_data_four_partitions();
//		create_poc_data_one_partitions();
//		print_welcome();
//		ExecuteLogicalQueryPlan();
		while(true)
			sleep(1);
	}
	else {
		Environment::getInstance(master);
		while(true)
			sleep(1);
	}
#else
		int pid=fork();
		if(pid!=0){
			printf("Daemon process id is %d\n",pid);
			sleep(1);
			return 0;
		}
		Config::getInstance();
		printf("Creating %s daemon...\n",actor.c_str());
		Environment::getInstance(master);
		printf("The %s daemon is successfully created.!\n",actor.c_str());
		printf("Logs are redirected to %s\n",Config::logfile.c_str());
		FILE *file;
		if((file=freopen(Config::logfile.c_str(),"a",stdout))==NULL){
			printf("output redirection fails!\n");
		}
		freopen(Config::logfile.c_str(),"a",stderr);

		fflush(stdout);
		fclose(stdout);
		//redirect back to console
		freopen("/dev/tty","a",stdout);
		printf("The Slave daemon is successfully created!\n");
		//redirect again to the log file.
		if((file=freopen(Config::logfile.c_str(),"a",stdout))==NULL){
			printf("output redirection fails!\n");
		}
		freopen(Config::logfile.c_str(),"a",stderr);
		while(true)
			sleep(1);
#endif
#else
	maina(argc, argv);
	return 0;
#endif
}