int run() { _statUtil.setSeconds( getParam( "sleep" , 1 ) ); _statUtil.setAll( hasParam( "all" ) ); if ( _many ) return runMany(); return runNormal(); }
void App::run() { /* drop effective user and group ID, in case this executable has the setuid/setgid bit set (privileges will be re-elevated when necessary, e.g. for authenticat file reading) */ System::dropUserAndGroupEffectiveID(); try { SyslogLogger::initOnce(APP_SYSLOG_IDENTIFIER); this->cfg = new Config(argc, argv); if ( this->cfg->getRunUnitTests() ) runUnitTests(); else runNormal(); } catch (InvalidConfigException& e) { std::cerr << std::endl; std::cerr << "Error: " << e.what() << std::endl; std::cerr << std::endl; std::cerr << "[BeeGFS Control Tool Version: " << BEEGFS_VERSION << std::endl; std::cerr << "Refer to the default config file (/etc/beegfs/beegfs-client.conf)" << std::endl; std::cerr << "or visit http://www.beegfs.com to find out about configuration options.]" << std::endl; std::cerr << std::endl; if(this->log) log->logErr(e.what() ); appResult = APPCODE_INVALID_CONFIG; return; } catch (std::exception& e) { std::cerr << std::endl; std::cerr << "Unrecoverable error: " << e.what() << std::endl; std::cerr << std::endl; if(this->log) log->logErr(e.what() ); appResult = APPCODE_RUNTIME_ERROR; return; } }
int petabricks::PetabricksRuntime::runMain(){ #ifdef HAVE_OPENCL int err; #endif JTIMER_SCOPE(runMain); switch(MODE){ case MODE_RUN_IO: #ifdef HAVE_OPENCL if( 0 != ( err = OpenCLUtil::init( ) ) ) { std::cout << "Failed to initialize OpenCL: error " << err << "." << std::endl; exit( -1 ); } #endif runNormal(); break; case MODE_IOGEN_CREATE: iogenCreate(iogenFiles(IOGEN_PFX)); break; case MODE_IOGEN_RUN: iogenRun(iogenFiles(IOGEN_PFX)); break; case MODE_RACE_CONFIGS: raceConfigs(_randSize); return _rv; break; case MODE_RUN_RANDOM: #ifdef HAVE_OPENCL if( 0 != ( err = OpenCLUtil::init( ) ) ) { std::cout << "Failed to initialize OpenCL: error " << err << "." << std::endl; exit(-1 ); } #endif runTrial(GRAPH_MAX_SEC, ACCTRAIN); break; case MODE_GRAPH_INPUTSIZE: runGraphMode(); break; case MODE_GRAPH_PARAM: runGraphParamMode(graphParam); break; case MODE_GRAPH_TEMPLATE: runGraphTemplate(); break; case MODE_GRAPH_THREADS: runGraphParallelMode(); break; case MODE_AUTOTUNE_PARAM: optimizeParameter(graphParam); break; case MODE_ABORT: case MODE_HELP: break; } if(FORCEOUTPUT && _rv==0){ JTIMER_SCOPE(forceoutput); std::vector<std::string> tmp; for(int i=_main->numInputs(); i-->0;) tmp.push_back(DEVNULL); for(int i=_main->numOutputs(); i-->0;) tmp.push_back("-"); _main->writeOutputs(tmp); } ACCURACY=!theAccuracies.empty(); DUMPTIMING=!theTimings.empty(); if(ACCURACY || DUMPTIMING || HASH) std::cout << "<root>\n <stats>\n"; if(ACCURACY){ std::cout << " <accuracy"; _dumpStats(std::cout, theAccuracies); std::cout << " />\n"; } if(DUMPTIMING){ std::cout << " <timing"; _dumpStats(std::cout, theTimings); std::cout << " />\n"; } if(HASH){ std::cout << " <outputhash value=\"0x" << theLastHash << "\" />\n"; } if(ACCURACY || DUMPTIMING || HASH) std::cout << " </stats>\n</root>\n" << std::flush; return _rv; }
void Runner::collideGround(b2Node* groundNode, b2Contact* contact){ int groundTag = groundNode->getTag(); float tmp; switch (groundTag) { case TAG_OBJECT_GROUND: { runNormal(); float groundWidth = groundNode->getBoundingBox().getMaxX(); bool positionCheckY = this->mModel->getPosY() - groundNode->getPosition().y > this->mModel->getBoundingBox().getMaxY() / 2; float a1 = std::abs(this->mModel->getPosX() - groundNode->getPosition().x); float a2 = this->mModel->getBoundingBox().getMaxX(); bool positionCheckX = std::abs(this->mModel->getPosX() - groundNode->getPosition().x) < (groundWidth / 2 + this->mModel->getBoundingBox().getMaxX() / 2); if (positionCheckY&&positionCheckX) this->mModel->setState(PlayerState::ON_GROUND); break; } case TAG_OBJECT_BARNORMAL: case TAG_OBJECT_BARSLOPE: { float groundWidth = groundNode->getBoundingBox().getMaxX(); tmp = 10; bool velocityCheck = this->mModel->getVelocityY() > tmp; bool positionCheck = std::abs(this->mModel->getPosX() - groundNode->getPosition().x) < groundWidth / 2; if (velocityCheck && positionCheck){ contact->SetEnabled(false); } else{ runNormal(); float groundWidth = groundNode->getBoundingBox().getMaxX(); bool positionCheckY = this->mModel->getPosY() - groundNode->getPosition().y > this->mModel->getBoundingBox().getMaxY() / 2; float a1 = std::abs(this->mModel->getPosX() - groundNode->getPosition().x); float a2 = this->mModel->getBoundingBox().getMaxX(); bool positionCheckX = std::abs(this->mModel->getPosX() - groundNode->getPosition().x) < (groundWidth / 2 + this->mModel->getBoundingBox().getMaxX() / 2); if (positionCheckY&&positionCheckX) this->mModel->setState(PlayerState::ON_GROUND); else this->mModel->isMultiJump = true; break; } break; } case TAG_OBJECT_BACK: { if (!isChangeDirection) { mModel->setDirection(-1); mView->setDirection(-1); isChangeDirection = true; } break; } case TAG_OBJECT_END: { if (isChangeDirection) { isChangeDirection = false; mModel->setFinish(true); } break; } case TAG_OBJECT_ROLL_BACK:{ StartRollBack(); } case TAG_OBJECT_SLOW_EXLODED: case TAG_OBJECT_BOMB_EXLODED: { contact->SetEnabled(false); break; } default: break; } }