add_reader on the proto FIFO armed epoll but never delivered callbacks under uvloop when the fd number recycled a just-closed socket fd (nondeterministic per instance): the guest's GPIO lines sat unread in the pipe and canvas LEDs stayed dark while serial kept flowing. Pump the FIFO from a worker thread (select + os.read, like _watch_stderr) and schedule _handle_gpio_line back onto the loop. |
||
|---|---|---|
| .. | ||
| api | ||
| core | ||
| database | ||
| mcp | ||
| models | ||
| schemas | ||
| services | ||
| utils | ||
| __init__.py | ||
| main.py | ||