| 793 | } |
| 794 | |
| 795 | static void DoSubB(TCont* cont, void* argPtr) { |
| 796 | TState& state = *(TState*)argPtr; |
| 797 | state.SubBState = EState::Running; |
| 798 | while (state.SubAState != EState::Running && state.SubCState != EState::Running) { |
| 799 | cont->Yield(); |
| 800 | } |
| 801 | for (auto i : xrange(100)) { |
| 802 | Y_UNUSED(i); |
| 803 | if (!state.SubA) { |
| 804 | break; |
| 805 | } |
| 806 | state.SubA->ReSchedule(); |
| 807 | cont->Yield(); |
| 808 | } |
| 809 | state.SubBState = EState::Finished; |
| 810 | } |
| 811 | |
| 812 | static void DoSubA(TCont* cont, void* argPtr) { |
| 813 | TState& state = *(TState*)argPtr; |
nothing calls this directly
no test coverage detected