Skip to content

Fix idle epoch lost when a Sync waiter is parked off-pool

9159be4
Select commit
Loading
Failed to load commit list.
Open

Lock-free scheduler with per-priority queues #193

Fix idle epoch lost when a Sync waiter is parked off-pool
9159be4
Select commit
Loading
Failed to load commit list.
SonarQubeCloud / SonarCloud Code Analysis failed Jun 3, 2026 in 1m 16s

Quality Gate failed

Failed conditions
6.0% Duplication on New Code (required ≤ 3%)
D Reliability Rating on New Code (required ≥ A)
D Maintainability Rating on New Code (required ≥ A)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

Annotations

Check failure on line 51 in src/threading/scheduler/Group.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Do not throw uncaught exceptions in a destructor.

See more on https://sonarcloud.io/project/issues?id=Fastcode_NUClear&issues=AZ5suzDYg4kDix-tqUrA&open=AZ5suzDYg4kDix-tqUrA&pullRequest=193

Check warning on line 393 in src/Reactor.hpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Declaration shadows a field "args" in the outer scope.

See more on https://sonarcloud.io/project/issues?id=Fastcode_NUClear&issues=AZ5suzEJg4kDix-tqUr9&open=AZ5suzEJg4kDix-tqUr9&pullRequest=193

Check failure on line 111 in src/threading/scheduler/Group.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Use 'std::memory_order_seq_cst' (or remove this argument to use its default value) to ensure sequential consistency.

See more on https://sonarcloud.io/project/issues?id=Fastcode_NUClear&issues=AZ5suzDYg4kDix-tqUrG&open=AZ5suzDYg4kDix-tqUrG&pullRequest=193

Check failure on line 209 in src/threading/scheduler/queue/TaskQueue.hpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Use 'std::memory_order_seq_cst' (or remove this argument to use its default value) to ensure sequential consistency.

See more on https://sonarcloud.io/project/issues?id=Fastcode_NUClear&issues=AZ5suzCug4kDix-tqUqZ&open=AZ5suzCug4kDix-tqUqZ&pullRequest=193

Check failure on line 128 in src/extension/IOController_Posix.ipp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Use 'std::memory_order_seq_cst' (or remove this argument to use its default value) to ensure sequential consistency.

See more on https://sonarcloud.io/project/issues?id=Fastcode_NUClear&issues=AZ5suzD5g4kDix-tqUr2&open=AZ5suzD5g4kDix-tqUr2&pullRequest=193

Check failure on line 270 in src/extension/IOController_Posix.ipp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Use 'std::memory_order_seq_cst' (or remove this argument to use its default value) to ensure sequential consistency.

See more on https://sonarcloud.io/project/issues?id=Fastcode_NUClear&issues=AZ5suzD5g4kDix-tqUr7&open=AZ5suzD5g4kDix-tqUr7&pullRequest=193

Check failure on line 178 in src/threading/scheduler/queue/MPSCQueue.hpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Use 'std::memory_order_seq_cst' (or remove this argument to use its default value) to ensure sequential consistency.

See more on https://sonarcloud.io/project/issues?id=Fastcode_NUClear&issues=AZ5suzDIg4kDix-tqUq4&open=AZ5suzDIg4kDix-tqUq4&pullRequest=193

Check failure on line 204 in src/threading/scheduler/Pool.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Use 'std::memory_order_seq_cst' (or remove this argument to use its default value) to ensure sequential consistency.

See more on https://sonarcloud.io/project/issues?id=Fastcode_NUClear&issues=AZ6MBkji_hgf2-2n6go7&open=AZ6MBkji_hgf2-2n6go7&pullRequest=193

Check failure on line 137 in src/threading/scheduler/Pool.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Use 'std::memory_order_seq_cst' (or remove this argument to use its default value) to ensure sequential consistency.

See more on https://sonarcloud.io/project/issues?id=Fastcode_NUClear&issues=AZ5suzDhg4kDix-tqUri&open=AZ5suzDhg4kDix-tqUri&pullRequest=193

Check warning on line 202 in src/threading/scheduler/Group.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Refactor the code to remove this break statement.

See more on https://sonarcloud.io/project/issues?id=Fastcode_NUClear&issues=AZ5suzDYg4kDix-tqUrV&open=AZ5suzDYg4kDix-tqUrV&pullRequest=193

Check warning on line 110 in src/threading/scheduler/Group.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Reduce the number of nested "break" statements from 2 to 1 authorized.

See more on https://sonarcloud.io/project/issues?id=Fastcode_NUClear&issues=AZ5suzDYg4kDix-tqUrF&open=AZ5suzDYg4kDix-tqUrF&pullRequest=193

Check failure on line 112 in src/threading/scheduler/queue/TaskQueue.hpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Use 'std::memory_order_seq_cst' (or remove this argument to use its default value) to ensure sequential consistency.

See more on https://sonarcloud.io/project/issues?id=Fastcode_NUClear&issues=AZ5suzCug4kDix-tqUqG&open=AZ5suzCug4kDix-tqUqG&pullRequest=193

Check failure on line 251 in src/threading/scheduler/queue/TaskQueue.hpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Use 'std::memory_order_seq_cst' (or remove this argument to use its default value) to ensure sequential consistency.

See more on https://sonarcloud.io/project/issues?id=Fastcode_NUClear&issues=AZ5suzCug4kDix-tqUqk&open=AZ5suzCug4kDix-tqUqk&pullRequest=193

Check failure on line 310 in src/threading/scheduler/Pool.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Use 'std::memory_order_seq_cst' (or remove this argument to use its default value) to ensure sequential consistency.

See more on https://sonarcloud.io/project/issues?id=Fastcode_NUClear&issues=AZ6MBkji_hgf2-2n6gpA&open=AZ6MBkji_hgf2-2n6gpA&pullRequest=193

Check failure on line 272 in src/extension/IOController_Posix.ipp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Use 'std::memory_order_seq_cst' (or remove this argument to use its default value) to ensure sequential consistency.

See more on https://sonarcloud.io/project/issues?id=Fastcode_NUClear&issues=AZ5suzD5g4kDix-tqUr8&open=AZ5suzD5g4kDix-tqUr8&pullRequest=193

Check failure on line 71 in src/threading/scheduler/Group.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Use 'std::memory_order_seq_cst' (or remove this argument to use its default value) to ensure sequential consistency.

See more on https://sonarcloud.io/project/issues?id=Fastcode_NUClear&issues=AZ5suzDYg4kDix-tqUrB&open=AZ5suzDYg4kDix-tqUrB&pullRequest=193

Check failure on line 209 in src/threading/scheduler/queue/MPSCQueue.hpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Remove this destructor call.

See more on https://sonarcloud.io/project/issues?id=Fastcode_NUClear&issues=AZ5suzDIg4kDix-tqUq8&open=AZ5suzDIg4kDix-tqUq8&pullRequest=193

Check failure on line 143 in src/threading/scheduler/queue/MPSCQueue.hpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Replace the use of "new" with an operation that automatically manages the memory.

See more on https://sonarcloud.io/project/issues?id=Fastcode_NUClear&issues=AZ5suzDIg4kDix-tqUqn&open=AZ5suzDIg4kDix-tqUqn&pullRequest=193

Check warning on line 245 in src/threading/scheduler/Pool.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

This function should be declared "const".

See more on https://sonarcloud.io/project/issues?id=Fastcode_NUClear&issues=AZ5suzDhg4kDix-tqUrm&open=AZ5suzDhg4kDix-tqUrm&pullRequest=193

Check warning on line 233 in src/threading/scheduler/queue/TaskQueue.hpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Remove this continue statement.

See more on https://sonarcloud.io/project/issues?id=Fastcode_NUClear&issues=AZ5suzCug4kDix-tqUp8&open=AZ5suzCug4kDix-tqUp8&pullRequest=193

Check failure on line 176 in src/threading/scheduler/Group.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Use 'std::memory_order_seq_cst' (or remove this argument to use its default value) to ensure sequential consistency.

See more on https://sonarcloud.io/project/issues?id=Fastcode_NUClear&issues=AZ5suzDYg4kDix-tqUrN&open=AZ5suzDYg4kDix-tqUrN&pullRequest=193

Check failure on line 122 in src/threading/scheduler/queue/TaskQueue.hpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Use 'std::memory_order_seq_cst' (or remove this argument to use its default value) to ensure sequential consistency.

See more on https://sonarcloud.io/project/issues?id=Fastcode_NUClear&issues=AZ5suzCug4kDix-tqUqJ&open=AZ5suzCug4kDix-tqUqJ&pullRequest=193

Check failure on line 96 in src/threading/scheduler/queue/TaskQueue.hpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Use 'std::memory_order_seq_cst' (or remove this argument to use its default value) to ensure sequential consistency.

See more on https://sonarcloud.io/project/issues?id=Fastcode_NUClear&issues=AZ5suzCug4kDix-tqUqF&open=AZ5suzCug4kDix-tqUqF&pullRequest=193

Check failure on line 212 in src/threading/scheduler/Scheduler.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Use 'std::memory_order_seq_cst' (or remove this argument to use its default value) to ensure sequential consistency.

See more on https://sonarcloud.io/project/issues?id=Fastcode_NUClear&issues=AZ5suzDpg4kDix-tqUrz&open=AZ5suzDpg4kDix-tqUrz&pullRequest=193

Check warning on line 121 in src/threading/scheduler/Group.cpp

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Refactor the code to remove this break statement.

See more on https://sonarcloud.io/project/issues?id=Fastcode_NUClear&issues=AZ5suzDYg4kDix-tqUrJ&open=AZ5suzDYg4kDix-tqUrJ&pullRequest=193