| 166 | |
| 167 | protected: |
| 168 | void UpdateStatus(Status&& st) { |
| 169 | // Must be called unlocked, only locks on error |
| 170 | if (ARROW_PREDICT_FALSE(!st.ok())) { |
| 171 | std::lock_guard<std::mutex> lock(mutex_); |
| 172 | ok_.store(false, std::memory_order_release); |
| 173 | status_ &= std::move(st); |
| 174 | } |
| 175 | } |
| 176 | |
| 177 | void OneTaskDone() { |
| 178 | // Can be called unlocked thanks to atomics |
no test coverage detected