Simon Tatham mostra como simular corrotinas em C padrão com switch/case e __LINE__
Em post, Simon Tatham, criador do PuTTY, descreve uma técnica portátil, baseada em macros, para simular corrotinas em C padrão sem threads ou assembly. Ele afirma que o PuTTY ainda usa versões desse truque no código do protocolo SSH.
Por Wendelmaques Pereira · Atualizado em hoje
Fonte: Truque de corrotinas de Simon Tatham em C padrão (x.com). Texto preparado com IA a partir dessa fonte.
O que aconteceu e o que fazer
O post de Simon Tatham, criador do PuTTY, explica como simular corrotinas em C padrão combinando a técnica switch/case, por trás do Duff's Device, com a macro __LINE__. Com isso, funções podem ser pausadas e retomadas sem threads ou assembly. Segundo o autor, o PuTTY ainda usa versões desse truque no código do protocolo SSH.
Para empresas com bases C antigas, em parsers de protocolo, drivers ou firmware, o caso sugere revisar onde máquinas de estado escritas à mão já fazem o papel de corrotinas. Uma ação prática é mapear esses trechos, avaliar se a lógica de retomada é verificável e cobri-los com testes de unidade, fuzzing e análise estática, reduzindo o risco de estados inconsistentes em entradas malformadas. Quando a refatoração for justificada, pode-se isolar a máquina de estados atrás de uma interface estável, com testes de regressão e métricas de cobertura. Esse tipo de trabalho é de engenharia de software e segurança, e não depende de IA.
Como a consultoria pode ajudar
Diagnóstico de código C legado que usa máquinas de estado ou corrotinas simuladas, com mapeamento dos pontos de retomada e dos riscos de parsing. Em seguida, uma proposta escopada de testes com fuzzing, análise estática e refatoração isolada, com suporte à operação dos testes no ambiente do cliente.
Próximo passo
Se sua equipe mantém código C com parsers de protocolo, drivers ou firmware, envie uma descrição curta do sistema, da linguagem e do ponto de maior preocupação. Em seguida, você recebe uma proposta escopada de diagnóstico e implementação.
Vamos avaliar seu projeto

Respondo com escopo e proposta.