| 90 | } |
| 91 | |
| 92 | auto TaskControlBlock::JoinThreadGroup(TaskControlBlock* leader) -> void { |
| 93 | if (!leader || leader == this) { |
| 94 | return; |
| 95 | } |
| 96 | |
| 97 | // 设置 tgid |
| 98 | aux->tgid = leader->aux->tgid; |
| 99 | |
| 100 | // 在 leader 之后插入自身 |
| 101 | etl::link_splice<ThreadGroupLink>(*leader, *this); |
| 102 | } |
| 103 | |
| 104 | auto TaskControlBlock::LeaveThreadGroup() -> void { ThreadGroupLink::unlink(); } |
| 105 |
no outgoing calls