virtual void run (Arg) { _checksum = 0; _create_count = 0; { TestList objs = createDummies (); for_each (objs, reAccess); checkHandling (objs); checkSpecialSubclass (); } CHECK (0 == _checksum); // all dead }
virtual void run (Arg) { _checkSum = 0; _callSum = 0; _created = 0; verifyBasics(); { TestList objs = createOpaqueValues (); for_each (objs, operate); } CHECK (0 == _checkSum); // all dead verifyOverrunProtection(); verifyCopySupportDetectionMetafunctions(); }
void triggerStartup (Subsys* susy) { REQUIRE (susy); if (susy->isRunning()) return; INFO (subsystem, "Triggering startup of subsystem \"%s\"", cStr(*susy)); for_each (susy->getPrerequisites(), start_); bool started = susy->start (opts_, bind (&SubsystemRunner::sigTerm, this, susy, _1)); if (started) { if (susy->isRunning()) running_.push_back (susy); // now responsible for managing the started subsystem else throw error::Logic("Subsystem "+string(*susy)+" failed to start"); } if (!and_all (susy->getPrerequisites(), isRunning() )) { susy->triggerShutdown(); throw error::State("Unable to start all prerequisites of Subsystem "+string(*susy)); } }
void shutdownAll () { Lock guard (this); for_each (running_, stopIt_); }