Skip to content

Reuse DOSCTRL RPC connections to prevent socket exhaustion - #64

Merged
janrysavy merged 1 commit into
masterfrom
codex/dosctrl-persistent-rpc
Oct 2, 2026
Merged

janrysavy merged 1 commit into
masterfrom
codex/dosctrl-persistent-rpc

Conversation

@janrysavy

Copy link
Copy Markdown
Owner

DOSCTRL polling opened one TCP connection per JSON-RPC request, and a parent TP6 batch failed with Windows socket error 10048 after 12 compiles. Reuse the existing JSON-lines channel, retain per-call absolute deadlines, and discard uncertain channels without replaying requests. CLI and live-DOS session owners close explicitly.

Validation: 52 focused controller tests pass. An independent 500-poll before/after probe measures 500 connections before and one after. New controls cover wrong reply IDs, an applied write with a late reply, explicit reconnect and idempotent close. Public CI and fresh parent TP6 recompilation must pass before integration.

A parent TP6 batch failed with Windows socket10048 after12 compiles. Reuse JSON-lines framing supported by DebugServer; discard uncertain channels without request replay, retain absolute deadlines and close CLI/session owners.52 focused tests pass, including500-poll, wrong-ID, uncertain-write and timeout controls.
@janrysavy
janrysavy merged commit 1bc3c82 into master Oct 2, 2026
7 checks passed
@janrysavy
janrysavy deleted the codex/dosctrl-persistent-rpc branch October 2, 2026 16:48
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