Skip to content

RLM: Make FIFO IO non-blocking#850

Merged
snimu merged 5 commits intomainfrom
sebastian/rlm-fifo-non-blocking-2026-02-06
Feb 7, 2026
Merged

RLM: Make FIFO IO non-blocking#850
snimu merged 5 commits intomainfrom
sebastian/rlm-fifo-non-blocking-2026-02-06

Conversation

@snimu
Copy link
Contributor

@snimu snimu commented Feb 7, 2026

Description

  • Use non‑blocking FIFO read/write with select in local and sandbox workers.
  • Fail fast when the worker is dead/missing instead of hanging until timeout.
  • Preserve existing timeout/recovery behavior for REPL execution.

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update
  • Test improvement

Testing

  • All existing tests pass when running uv run pytest locally.
  • New tests have been added to cover the changes

Checklist

  • My code follows the style guidelines of this project as outlined in AGENTS.md
  • [ x I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • Any dependent changes have been merged and published

Note

Medium Risk
Touches core REPL execution I/O and timeout handling; subtle FIFO/select edge cases could cause new timeouts or incomplete reads/writes across local and sandbox backends.

Overview
Improves RLM REPL worker communication by switching FIFO reads/writes to non-blocking os.open/os.read/os.write with select, instead of blocking file I/O that could hang.

Both local and sandbox execution paths now fail fast when FIFOs/worker are missing or unresponsive, mapping WORKER_DEAD/WORKER_TIMEOUT conditions to RLMCodeExecutionTimeout and preserving the existing timeout recovery path (including FIFO unblocking) with clearer logging.

Written by Cursor Bugbot for commit 9fede6f. This will update automatically on new commits. Configure here.

Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.

@snimu snimu merged commit ecd637c into main Feb 7, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant