Скрипач, пророк (15.09.2015 13:26 - 19:59, просмотров: 450) ответил Vit на угу. у меня почти прототридсы с гото, со стейтом, объявленным внутри функции, или (очень редко) ванильные прототридсы. но есть и событийно-управляемый шедулер, только я его использую там, где нужно. он заточен на спатоньки, но фурычит и без
Подумывал запилить в Protothreads PT_LEVEL + PT_GOTO. Чтобы сделать из struct pt честный state. Теперь висит некая недоделка, больше трёх лет, никому не нужная. Как-то так получается, что не было за это время ситуаций, в которых "ванильным" не обойтись.
Типа такого:
#include "pt.h"
#define PT_LEVEL(pt, n) const lc_t n = __LINE__; case __LINE__:
#define PT_GOTO(pt, n) do{ pt->lc = n; return PT_YIELDED; }while(0)
... но не любой ценой.