Skip to content
Snippets Groups Projects
  1. Nov 15, 2017
  2. Nov 14, 2017
  3. Nov 13, 2017
  4. Nov 12, 2017
    • Gerhard Raven's avatar
      Prefer std::make_unique · 386536b8
      Gerhard Raven authored
      386536b8
    • Gerhard Raven's avatar
      Modernize FileMgr · 04e8982f
      Gerhard Raven authored
      - prefer `optional` over `unique_ptr` to make a nullable type,
        and avoid heap-allocation of RootFileHandler and POSIXFileHandler
      - better implementation of `select1st`,`select2nd`
      - prefer value-semantics implementation of `get_bit` and `set_bit`
      04e8982f
    • Gerhard Raven's avatar
      Modernize HistoDef · a7dfca4c
      Gerhard Raven authored
      - remove virtual function destructor, qualify as final
      - implement binary operator as friend functions
      - implement less than using std::tie
      a7dfca4c
  5. Nov 11, 2017
  6. Nov 10, 2017
  7. Nov 09, 2017
    • Sebastien Ponce's avatar
      Fixed race condition in AvalancheScheduler around updates after execution · e836f71b
      Sebastien Ponce authored and Marco Clemencic's avatar Marco Clemencic committed
      In methods promoteTo(Async)Executed, 2 types of "updates" are taking place :
        - a push to the actionQueue for the updates of other algorithms
        - the update of the current algorithm status
      The push itself will ultimately trigger the check for the end of the event, that will check whether all states of all algos of the event are ACCEPTED.
      In such a case, it will trigger (via a push to m_finishedEvents queue) the move to the next event or the finalization of the job (last event).
      Now suppose that the 2 updates are done in the order I gave them and that the second one is delayed (thread unscheduled by OS).
      The push will trigger the check for end event. That check will concledu that the event is not over as one algo (current one) is still in SCHEDULED state !
      Thus next event will never come and job will never finalize.
      So the order has to be update of the current algo first.
      
      Note that this was found the hard way, on stuck processes, so this really happenned.
      e836f71b
    • Sebastien Ponce's avatar
      Dropped unused member m_updateNeeded in AvalancheScheduler · 945e436d
      Sebastien Ponce authored and Marco Clemencic's avatar Marco Clemencic committed
      945e436d
    • Sebastien Ponce's avatar
      Simplifies (aka optimized) usage of ttb tasks in AvalancheScheduler · 256c1456
      Sebastien Ponce authored and Marco Clemencic's avatar Marco Clemencic committed
      Each algorithm was so far given to tbb in the form of a pair of tbb tasks, linked together.
      The first was running the algo while the second dealt with pushing the updae callback to the action queue.
      Providing that the run of the Algorithm was already wrapped into a AlgoExecutionTask, there was no reason to not put the callback there and drop the second task.
      256c1456
    • Marco Clemencic's avatar
      f9a5ce0c
Loading