| 236 | } |
| 237 | |
| 238 | void ExecutionQueueBase::_on_recycle() { |
| 239 | // Push a closed tasks |
| 240 | while (true) { |
| 241 | TaskNode* node = butil::get_object<TaskNode>(); |
| 242 | if (BAIDU_LIKELY(node != NULL)) { |
| 243 | get_execq_vars()->running_task_count << 1; |
| 244 | node->stop_task = true; |
| 245 | node->high_priority = false; |
| 246 | node->in_place = false; |
| 247 | start_execute(node); |
| 248 | break; |
| 249 | } |
| 250 | CHECK(false) << "Fail to create task_node_t, " << berror(); |
| 251 | ::bthread_usleep(1000); |
| 252 | } |
| 253 | } |
| 254 | |
| 255 | int ExecutionQueueBase::join(uint64_t id) { |
| 256 | const slot_id_t slot = slot_of_id(id); |
no test coverage detected