GCC Code Coverage Report


Directory: cvmfs/
File: cvmfs/supervisor.cc
Date: 2026-05-19 11:45:12
Exec Total Coverage
Lines: 15 15 100.0%
Branches: 6 6 100.0%

Line Branch Exec Source
1 /**
2 * This file is part of the CernVM File System.
3 */
4
5 #include "supervisor.h"
6
7 #include "util/platform.h"
8
9
10
11 135 Supervisor::Supervisor(uint64_t max_retries, uint64_t interval_sec)
12 135 : max_retries_(max_retries), interval_(interval_sec) { }
13
14 270 Supervisor::~Supervisor() { }
15
16 135 bool Supervisor::Run() {
17 135 uint64_t retries = 0;
18 135 uint64_t t0 = platform_monotonic_time();
19 135 bool result = false;
20 do {
21 360 result = Task();
22 360 const uint64_t t1 = platform_monotonic_time();
23
2/2
✓ Branch 0 taken 225 times.
✓ Branch 1 taken 135 times.
360 if (t1 - t0 < interval_) {
24 225 retries += 1;
25 } else {
26 135 t0 = t1;
27 135 retries = 0;
28 }
29
4/4
✓ Branch 0 taken 270 times.
✓ Branch 1 taken 90 times.
✓ Branch 2 taken 225 times.
✓ Branch 3 taken 45 times.
360 } while (!result && (retries <= max_retries_));
30
31 135 return result;
32 }
33