provide-terminal 2026-04-03
Capture dead-socket fix, copyright update to provide.io, lock files
952 files · 2,641+ · 2,495-

Capture dead-socket spin fix and poll loop backoff

3 files changed
  • capture.c check send_frame write returns; disable on EPIPE/ECONNRESET/EBADF to prevent infinite spin on dead socket
  • session_runtime.py 50ms backoff sleep when poll_messages returns empty — prevents tight loop CPU waste
  • run_demo.py Enable session_idle_timeout_s=1800 and add 1h process self-exit to demo scripts
  • capture.c now checks send_frame write return value and disables the capture hook on EPIPE, ECONNRESET, or EBADF — prevents infinite spin when the receiving socket is dead. Runtime poll loop gains 50ms backoff sleep when poll_messages returns empty to prevent tight-loop CPU waste. Demo scripts gain idle timeout and process self-exit for unattended operation. remediate behavioral
    2 files
    • capture.c
    • session_runtime.py

Copyright update to provide.io llc

1 file changed
  • conftest.py SPDX copyright changed from MindTenet LLC to provide.io llc
  • SPDX copyright headers updated from MindTenet LLC to provide.io llc across the entire codebase (~950 files). Lock files (uv.lock) added for reproducible builds. baseline internal
    1 file
    • conftest.py