int main(int argc, char *argv[]) {
  startCatchingSignals();
 {
  astlocMarker markAstLoc(0, "<internal>");
  initFlags();
  initChplProgram();
  initPrimitive();
  initPrimitiveTypes();
  initTheProgram();
  setupOrderedGlobals(argv[0]);
  compute_program_name_loc(argv[0], &(arg_state.program_name),
                           &(arg_state.program_loc));
  process_args(&arg_state, argc, argv);
  initCompilerGlobals(); // must follow argument parsing
  setupDependentVars();
  setupModulePaths();
  recordCodeGenStrings(argc, argv);
 } // astlocMarker scope
  printStuff(argv[0]);
  if (rungdb)
    runCompilerInGDB(argc, argv);
  if (fdump_html || strcmp(log_flags, ""))
    init_logs();
  compile_all();
  if (fEnableTimers) {
    printf("timer 1: %8.3lf\n", timer1.elapsed());
    printf("timer 2: %8.3lf\n", timer2.elapsed());
    printf("timer 3: %8.3lf\n", timer3.elapsed());
    printf("timer 4: %8.3lf\n", timer4.elapsed());
    printf("timer 5: %8.3lf\n", timer5.elapsed());
  }
  free_args(&arg_state);
  clean_exit(0);
  return 0;
}
示例#2
0
BOOL APIENTRY DllMain( HMODULE hModule,
                       DWORD  ul_reason_for_call,
                       LPVOID lpReserved
					 )
{
	switch (ul_reason_for_call)
	{
	case DLL_PROCESS_ATTACH:
        // initialize our logs
        init_logs();
        L_DLL_ << "beginning of dll log";
        break;
	case DLL_THREAD_ATTACH:
	case DLL_THREAD_DETACH:
	case DLL_PROCESS_DETACH:
        L_DLL_ << "end of dll log";
		break;
	}
    return TRUE;
}
示例#3
0
int main(int argc, char *argv[]) {
	QCoreApplication a(argc, argv);

	init_logs();

	Schedule schedule;
	CronString cron;
	//cron.tokenize("0 0 * * * command line");
	//cron.tokenize("0 0 */2 1,5 */2 command line");
	cron.tokenize("0 0 * * sun command line");

	foreach(CronToken token, cron.tokens)
		LDEBUG_ << QSTR(token.toString());

	schedule.build(cron.tokens);

	LDEBUG_ << QSTR(schedule.toString());
	//return a.exec();
	return 0;
}
示例#4
0
/// \brief	This function is called once when our plugin is loaded. We can use
///			it to register any custom nodes, mel functions etc.
/// \param	obj	-	a handle to the loaded plugin
/// \return	an MStatus error code
///
EXPORT MStatus initializePlugin( MObject obj )
{
	_LogFunctionCall("initializePlugin()");
	
	init_logs("c:/bulletSPH.log");
	MStatus   status;

	// a classification for where the node will appear on the create menus
	// of the multilister and hypershade.
	const MString UserClassify( "shader/surface" );

	MFnPlugin plugin( obj, "Rob Bateman", "1.0", "Any");

	//
	//status = plugin.registerNode( btSPHContext::typeName, 
	//								btSPHContext::typeId,
	//								btSPHContext::creator,
	//								btSPHContext::initialize,
	//								MPxNode::kLocatorNode );
	//IfMErrorMsgReturn(status, "regist btSPHContext error.", status);
	//MCallbackId CallbackID_AddSPHContext = 
	//	MDGMessage::addNodeAddedCallback(
	//	btSPHContext::addedCallback, 
	//	btSPHContext::typeName, &status
	//	);
	//IfMErrorWarn(status);
	//MCallbackId CallbackID_RemoveSPHContext = 
	//	MDGMessage::addNodeRemovedCallback(
	//	btSPHContext::removedCallback, 
	//	btSPHContext::typeName, &status
	//	);
	//IfMErrorWarn(status);

	////
	status = plugin.registerNode( btSPHNode::typeName, 
									btSPHNode::typeId,
									btSPHNode::creator,
									btSPHNode::initialize,
									MPxNode::kEmitterNode );
	IfMErrorMsgReturn(status, "regist btSPHNode error.", status);
	MCallbackId CallbackID_AddSPHNode = 
		MDGMessage::addNodeAddedCallback(
		btSPHNode::addedCallback, 
		btSPHNode::typeName, &status
		);
	IfMErrorWarn(status);
	MCallbackId CallbackID_RemoveSPHNode = 
		MDGMessage::addNodeRemovedCallback(
		btSPHNode::removedCallback,
		btSPHNode::typeName, &status
		);
	IfMErrorWarn(status);

	////
	//status = plugin.registerNode( simpleFluidEmitter::typeName,
	//	simpleFluidEmitter::typeId,
	//	simpleFluidEmitter::creator,
	//	simpleFluidEmitter::initialize,
	//	MPxNode::kFluidEmitterNode );
	//IfMErrorWarn(status);
	//
	////
	//status = plugin.registerNode( torusField::typeName,
	//	torusField::typeId,
	//	torusField::creator,
	//	torusField::initialize,
	//	MPxNode::kFieldNode );
	//IfMErrorWarn(status);

	//
	status = plugin.registerNode(
		particleAttrNode::typeName,
		particleAttrNode::typeId,
		particleAttrNode::creator,
		particleAttrNode::initialize,
		MPxNode::kParticleAttributeMapperNode );
	IfMErrorWarn(status);

	//
	status = plugin.registerCommand( 
		btSPHCmd::typeName, 
		btSPHCmd::creator, 
		btSPHCmd::newSyntax);
	IfMErrorMsgReturn(status, "regist btSPHCmd error.", status);

	//
	status = plugin.registerNode(
		btSPHMgrNode::typeName,
		btSPHMgrNode::typeId,
		btSPHMgrNode::creator,
		btSPHMgrNode::initialize,
		MPxNode::kDependNode );
	IfMErrorWarn(status);
	//
	MGlobal::executeCommand("source \"SPHMain.mel\"; g_btSPH_Start();");

	return status;
}
示例#5
0
文件: core.c 项目: eckeman/mathopd
void httpd_main(void)
{
	int rv, n, t, accepting;
	time_t hours, last_time;

	accepting = 1;
	last_time = current_time = startuptime = time(0);
	hours = current_time / 3600;
	log_d("*** %s starting", server_version);
	while (gotsigterm == 0) {
		if (gotsighup) {
			gotsighup = 0;
			init_logs(0);
			if (debug)
				log_d("logs reopened");
		}
		if (gotsigusr1) {
			gotsigusr1 = 0;
			close_connections();
			log_d("connections closed");
		}
		if (gotsigusr2) {
			gotsigusr2 = 0;
			close_servers();
			log_d("servers closed");
		}
		if (gotsigchld) {
			gotsigchld = 0;
			reap_children();
		}
		if (gotsigquit) {
			gotsigquit = 0;
			debug = debug == 0;
			if (debug)
				log_d("debugging turned on");
			else
				log_d("debugging turned off");
		}
		if (gotsigwinch) {
			gotsigwinch = 0;
			log_d("performing internal dump");
			internal_dump();
		}
		n = 0;
		if (accepting && find_connection())
			n = setup_server_pollfds(n);
		n = setup_connection_pollfds(n);
		n = setup_child_pollfds(n, forked_connections.head);
		if (n == 0 && accepting && stats.nconnections == 0) {
			log_d("no more sockets to poll from");
			break;
		}
		t = accepting ? 60000 : 1000;
		if (debug)
			dump_pollfds(n, 0);
		rv = poll(pollfds, n, t);
		current_time = time(0);
		if (rv == -1) {
			if (errno != EINTR) {
				lerror("poll");
				break;
			} else {
				if (debug)
					log_d("poll interrupted");
				continue;
			}
		}
		if (debug)
			dump_pollfds(n, 1);
		if (current_time != last_time) {
			if (accepting == 0)
				accepting = 1;
			if (current_time / 3600 != hours) {
				hours = current_time / 3600;
				init_logs(0);
				if (debug)
					log_d("logs rotated");
			}
		}
		if (rv) {
			if (accepting && run_servers() == -1)
				accepting = 0;
			run_connections();
		}
		if (current_time != last_time) {
			cleanup_connections();
			last_time = current_time;
		}
	}
	log_d("*** shutting down");
}