Fix sending notifications in the successful case

[?]
Jun 23, 2015, 12:13 AM
7I7XHQAE62GIKLJ2JUBT4TYX4GTZRZVIQSDKRT52CM6SVUPNRDKAC

Dependencies

  • [2] IE2PRAQU hydra-queue-runner: Send build notifications
  • [3] HUUZFPPK Fix race between the queue monitor and the builder threads
  • [4] 24BMQDZA Start of single-process hydra-queue-runner
  • [5] O7MWBXF6 Doh
  • [6] ENXUSMSV Make concurrency more robust
  • [7] HPJKBFZ4 Handle concurrent finishing of the same build

Change contents

  • edit in src/hydra-queue-runner/hydra-queue-runner.cc at line 1160
    [3.3457]
    [3.3457]
    std::vector<BuildID> buildIDs;
  • edit in src/hydra-queue-runner/hydra-queue-runner.cc at line 1209
    [3.5190]
    [3.5190]
    buildIDs.push_back(b->id);
  • replacement in src/hydra-queue-runner/hydra-queue-runner.cc at line 1213
    [2.608][2.608:840]()
    /* Send notification about this build. */
    {
    auto notificationSenderQueue_(notificationSenderQueue.lock());
    notificationSenderQueue_->push(NotificationItem(build->id, std::vector<BuildID>()));
    [2.608]
    [3.8953]
    /* Send notification about the builds that have this step as
    the top-level. */
    for (auto id : buildIDs) {
    {
    auto notificationSenderQueue_(notificationSenderQueue.lock());
    notificationSenderQueue_->push(NotificationItem(id, std::vector<BuildID>()));
    }
    notificationSenderWakeup.notify_one();
  • edit in src/hydra-queue-runner/hydra-queue-runner.cc at line 1222
    [3.8963][2.841:888]()
    notificationSenderWakeup.notify_one();
  • edit in src/hydra-queue-runner/hydra-queue-runner.cc at line 1312
    [3.8625][2.934:990]()
    dependentIDs.push_back(build2->id);
  • edit in src/hydra-queue-runner/hydra-queue-runner.cc at line 1337
    [3.9900]
    [3.9900]
    dependentIDs.push_back(b->id);