Move "created" field into Step::State

[?]
Jun 22, 2015, 9:02 AM
WFYMBNWBSHJ6GF7MPAGKT5H2CMNLNTQLBVJGVA5N6J4IWEL4ND3QC

Dependencies

  • [2] 4LAUAXO5 Less verbosity
  • [3] A3IIKGSG hydra-queue-runner: Fix assertion failure
  • [4] 5AIYUMTB Basic remote building
  • [5] GKZN4UV7 Make the queue monitor more robust, and better debug output
  • [6] HUUZFPPK Fix race between the queue monitor and the builder threads
  • [7] 24BMQDZA Start of single-process hydra-queue-runner
  • [8] ENXUSMSV Make concurrency more robust

Change contents

  • edit in src/hydra-queue-runner/hydra-queue-runner.cc at line 148
    [4.326]
    [4.326]
    /* Whether the step has finished initialisation. */
    bool created = false;
  • edit in src/hydra-queue-runner/hydra-queue-runner.cc at line 167
    [4.5906][4.43:93]()
    std::atomic_bool created{false}; // debugging
  • edit in src/hydra-queue-runner/hydra-queue-runner.cc at line 737
    [4.1444]
    [4.1444]
    assert(step_->created != isNew);
  • replacement in src/hydra-queue-runner/hydra-queue-runner.cc at line 748
    [4.11732][4.1641:1717]()
    if (!isNew) {
    assert(step->created);
    return step;
    }
    [4.11732]
    [2.0]
    if (!isNew) return step;
  • replacement in src/hydra-queue-runner/hydra-queue-runner.cc at line 792
    [4.5324][4.2154:2216]()
    assert(!step->created);
    step->created = true;
    [4.5324]
    [4.2216]
    assert(!step_->created);
    step_->created = true;
  • replacement in src/hydra-queue-runner/hydra-queue-runner.cc at line 842
    [4.6604][4.2619:2650]()
    assert(step->created);
    [4.6604]
    [4.2650]
    assert(step_->created);
  • replacement in src/hydra-queue-runner/hydra-queue-runner.cc at line 1027
    [4.2820][4.2820:2851]()
    assert(step->created);
    [4.2820]
    [4.2851]
    assert(step_->created);
  • replacement in src/hydra-queue-runner/hydra-queue-runner.cc at line 1210
    [3.324][3.324:403]()
    if (rdep_->deps.empty() && rdep->created) runnable = true;
    [3.324]
    [4.5695]
    if (rdep_->deps.empty() && rdep_->created) runnable = true;