| 281 | } |
| 282 | |
| 283 | void TreeNode::resetStatus() |
| 284 | { |
| 285 | NodeStatus prev_status = NodeStatus::IDLE; |
| 286 | { |
| 287 | const std::unique_lock<std::mutex> lock(_p->state_mutex); |
| 288 | prev_status = _p->status; |
| 289 | _p->status = NodeStatus::IDLE; |
| 290 | } |
| 291 | |
| 292 | if(prev_status != NodeStatus::IDLE) |
| 293 | { |
| 294 | _p->state_condition_variable.notify_all(); |
| 295 | _p->state_change_signal.notify(std::chrono::high_resolution_clock::now(), *this, |
| 296 | prev_status, NodeStatus::IDLE); |
| 297 | } |
| 298 | } |
| 299 | |
| 300 | NodeStatus TreeNode::status() const |
| 301 | { |
no test coverage detected