@VladD а я его совсем не понимаю. Т.е. даже на уровне идеи, заложенной в программу.
Зато Вы подтолкнули меня посмотреть на реализации coroutines в Си (нашел штук 5). Заодно в вике выяснил, что использующие технику yield, на самом деле генераторы, а не сопрограммы и что fibers это тоже не сопрограммы, а threads...
Хоть и интересно, но пошел спать (похоже до конца майских каникул ... (дача :-)))