Ссылки на упоминаемые механизмы в посте: coroutines in C: www.chiark.greenend.org.uk/~sgtatham/coroutines.html
(Это именно то, что я по русски назвал "сопрограммами", ибо это есть прямой перевод термина coroutines. А мне было лень все время язык переключать.)
Protothreads: dunkels.com/adam/pt/
(Это то на что я ссылаюсь как на прототреды. Просто калька с английского, опять же лень переключать язык было.)