ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
19 мая
339101 Топик полностью
Vit (06.07.2012 09:22 - 09:30, просмотров: 314) ответил bialix на Вопросы к коллективному разуму, чтобы начать обсуждение.
Я делаю иначе:) bool async_func_done(void * args){ bool done = false; // not static int * ptr = (int *) args; static int st = 0; switch(st){ case 0: ; //a-la protothreads st = __LINE__; break; case __LINE__: ; .... st = __LINE__; break; case __LINE__: ; .... done = true; st = 0; } return done; } void main_foo(void){ .... while(!async_func_done(0)){ ; } .... { int rc; do{ if(async_func1_done(&rc)){ if(rc == OK){ break; }else if(rc == ERR){ break; }else if(rc = ERR_TIMEOUT){ goto ERRTIMEOUT; } } }while(1); } if(0){ ERRTIMEOUT: ; } }