| 151 | } |
| 152 | |
| 153 | ServiceThread::Status ServiceThread::takeAction() SKR_NOEXCEPT |
| 154 | { |
| 155 | const auto act = get_action(); |
| 156 | if (act != kActionNone) |
| 157 | { |
| 158 | const Status lut[] = { kStatusRunning, kStatusStopped, kStatusExitted }; |
| 159 | const auto out = lut[act - 1]; |
| 160 | setStatus(out); |
| 161 | setAction(kActionNone); |
| 162 | return out; |
| 163 | } |
| 164 | return get_status(); |
| 165 | } |
| 166 | |
| 167 | AsyncResult ServiceThread::ServiceFunc::run() SKR_NOEXCEPT |
| 168 | { |