| 720 | }; |
| 721 | |
| 722 | inline void thread::dequeue_ready_atomic(states newstat) |
| 723 | { |
| 724 | assert("this is not in runq, and this->lock is locked"); |
| 725 | if (waitq) { |
| 726 | assert(waitq->front()); |
| 727 | SCOPED_LOCK(waitq->lock); |
| 728 | waitq->erase(this); |
| 729 | waitq = nullptr; |
| 730 | } else { |
| 731 | assert(this->single()); |
| 732 | } |
| 733 | state = newstat; |
| 734 | } |
| 735 | |
| 736 | __thread thread* CURRENT; |
| 737 |
no test coverage detected