| 176 | */ |
| 177 | |
| 178 | bool queuedSignalsTrigger(Thread& thread, const size_t index, const TestPhase& phase) |
| 179 | { |
| 180 | for (size_t i = 0; i < phase.second.size(); ++i) |
| 181 | { |
| 182 | const auto signalNumber = maxPhasePriority - phase.first[phase.second[i]].first; |
| 183 | const decltype(sigval{}.sival_int) signalValue = |
| 184 | (totalThreads * (index + 1) + phase.first[phase.second[i]].second) | |
| 185 | signalNumber << signalNumberShift; |
| 186 | const auto ret = thread.queueSignal(signalNumber, sigval{signalValue}); |
| 187 | if (ret != 0) |
| 188 | return false; |
| 189 | } |
| 190 | |
| 191 | return true; |
| 192 | } |
| 193 | |
| 194 | /** |
| 195 | * \brief Builder of test threads |
nothing calls this directly
no test coverage detected