diff options
-rw-r--r-- | src/Main.cc | 18 | ||||
-rw-r--r-- | src/Task.cc | 6 | ||||
-rw-r--r-- | src/TaskMan.cc | 30 |
3 files changed, 23 insertions, 31 deletions
diff --git a/src/Main.cc b/src/Main.cc index d40926f..b2aa739 100644 --- a/src/Main.cc +++ b/src/Main.cc @@ -67,9 +67,9 @@ int Balau::Main::bootstrap(int _argc, char ** _argv) { catch (Exit e) { m_status = STOPPING; Printer::log(M_ERROR, "We shouldn't have gotten an Exit exception here... exitting anyway"); - std::vector<String> trace = e.getTrace(); - for (std::vector<String>::iterator i = trace.begin(); i != trace.end(); i++) - Printer::log(M_ERROR, "%s", i->to_charp()); + auto trace = e.getTrace(); + for (String & str : trace) + Printer::log(M_ERROR, "%s", str.to_charp()); r = e.getCode(); } catch (RessourceException e) { @@ -78,9 +78,9 @@ int Balau::Main::bootstrap(int _argc, char ** _argv) { const char * details = e.getDetails(); if (details) Printer::log(M_ERROR, " %s", details); - std::vector<String> trace = e.getTrace(); - for (std::vector<String>::iterator i = trace.begin(); i != trace.end(); i++) - Printer::log(M_DEBUG, "%s", i->to_charp()); + auto trace = e.getTrace(); + for (String & str : trace) + Printer::log(M_DEBUG, "%s", str.to_charp()); r = -1; } catch (GeneralException e) { @@ -89,9 +89,9 @@ int Balau::Main::bootstrap(int _argc, char ** _argv) { const char * details = e.getDetails(); if (details) Printer::log(M_ERROR, " %s", details); - std::vector<String> trace = e.getTrace(); - for (std::vector<String>::iterator i = trace.begin(); i != trace.end(); i++) - Printer::log(M_DEBUG, "%s", i->to_charp()); + auto trace = e.getTrace(); + for (String & str : trace) + Printer::log(M_DEBUG, "%s", str.to_charp()); r = -1; } catch (...) { diff --git a/src/Task.cc b/src/Task.cc index 8f30cd4..0a1b2db 100644 --- a/src/Task.cc +++ b/src/Task.cc @@ -81,9 +81,9 @@ void Balau::Task::coroutine() { const char * details = e.getDetails(); if (details) Printer::log(M_WARNING, " %s", details); - std::vector<String> trace = e.getTrace(); - for (std::vector<String>::iterator i = trace.begin(); i != trace.end(); i++) - Printer::log(M_DEBUG, "%s", i->to_charp()); + auto trace = e.getTrace(); + for (String & str : trace) + Printer::log(M_DEBUG, "%s", str.to_charp()); m_status = FAULTED; } catch (...) { diff --git a/src/TaskMan.cc b/src/TaskMan.cc index ea7a613..b909caa 100644 --- a/src/TaskMan.cc +++ b/src/TaskMan.cc @@ -201,12 +201,11 @@ void Balau::TaskMan::freeStack(void * stack) { int Balau::TaskMan::mainLoop() { taskHash_t starting, stopped, yielded, yielded2; taskHash_t::iterator iH; - Task * t; // we start by pushing all of the 'STARTING' tasks into the appropriate queue. - for (iH = m_tasks.begin(); iH != m_tasks.end(); iH++) + for (Task * t : m_tasks) if (t->getStatus() == Task::STARTING) - starting.insert(*iH); + starting.insert(t); do { bool noWait = false; @@ -215,7 +214,7 @@ int Balau::TaskMan::mainLoop() { // checking "STARTING" tasks, and running them once; also try to build the status of the noWait boolean. while ((iH = starting.begin()) != starting.end()) { - t = *iH; + Task * t = *iH; IAssert(t->getStatus() == Task::STARTING, "Got task at %p in the starting list, but isn't starting.", t); t->switchTo(); IAssert(t->getStatus() != Task::STARTING, "Task at %p got switchedTo, but still is 'STARTING'.", t); @@ -241,22 +240,16 @@ int Balau::TaskMan::mainLoop() { Printer::elog(E_TASK, "TaskMan at %p Getting out of libev main loop", this); // let's check what task got stopped, and signal them - for (iH = stopped.begin(); iH != stopped.end(); iH++) { - t = *iH; + for (Task * t : stopped) { IAssert((t->getStatus() == Task::STOPPED) || (t->getStatus() == Task::FAULTED), "Task %p in stopped list but isn't stopped.", t); - if (t->m_waitedBy.size() != 0) { - Task::waitedByList_t::iterator i; - for (i = t->m_waitedBy.begin(); i != t->m_waitedBy.end(); i++) { - Events::TaskEvent * e = *i; + if (t->m_waitedBy.size() != 0) + for (Events::TaskEvent * e : t->m_waitedBy) e->signal(); - } - } } m_allowedToSignal = false; // let's check who got signaled, and call them - for (iH = m_signaledTasks.begin(); iH != m_signaledTasks.end(); iH++) { - t = *iH; + for (Task * t : m_signaledTasks) { Printer::elog(E_TASK, "TaskMan at %p Switching to task %p (%s - %s) that got signaled somehow.", this, t, t->getName(), ClassName(t).c_str()); IAssert(t->getStatus() == Task::IDLE || t->getStatus() == Task::YIELDED, "We're switching to a non-idle/yielded task at %p... ? status = %i", t, t->getStatus()); bool wasYielded = t->getStatus() == Task::YIELDED; @@ -275,8 +268,7 @@ int Balau::TaskMan::mainLoop() { m_signaledTasks.clear(); // now let's make a round of yielded tasks - for (iH = yielded.begin(); iH != yielded.end(); iH++) { - t = *iH; + for (Task * t : yielded) { Printer::elog(E_TASK, "TaskMan at %p Switching to task %p (%s - %s) that was yielded.", this, t, t->getName(), ClassName(t).c_str()); IAssert(t->getStatus() == Task::YIELDED, "Task %p was in yielded list, but wasn't yielded ?", t); t->switchTo(); @@ -292,7 +284,7 @@ int Balau::TaskMan::mainLoop() { // Adding tasks that were added, maybe from other threads while (!m_pendingAdd.isEmpty()) { Printer::elog(E_TASK, "TaskMan at %p trying to pop a task...", this); - t = m_pendingAdd.pop(); + Task * t = m_pendingAdd.pop(); Printer::elog(E_TASK, "TaskMan at %p popped task %p...", this, t); IAssert(m_tasks.find(t) == m_tasks.end(), "TaskMan got task %p twice... ?", t); ev_now_update(m_loop); @@ -305,8 +297,8 @@ int Balau::TaskMan::mainLoop() { bool didDelete; do { didDelete = false; - for (iH = stopped.begin(); iH != stopped.end(); iH++) { - t = *iH; + for (auto iH = stopped.begin(); iH != stopped.end(); iH++) { + Task * t = *iH; IAssert((t->getStatus() == Task::STOPPED) || (t->getStatus() == Task::FAULTED), "Task %p in stopped list but isn't stopped.", t); if (t->m_waitedBy.size() == 0) { freeStack(t->m_stack); |