Skip to content

fix(windows): preserve pipe continuity and verify process liveness - #191

Merged
iuyo5678 merged 1 commit into
mainfrom
fix/windows-ipc-process-liveness
Sep 7, 2026
Merged

fix(windows): preserve pipe continuity and verify process liveness#191
iuyo5678 merged 1 commit into
mainfrom
fix/windows-ipc-process-liveness

Conversation

@iuyo5678

@iuyo5678 iuyo5678 commented Sep 7, 2026

Copy link
Copy Markdown
Collaborator

Summary

Fix two Windows daemon issues:

  • Create the next named-pipe server instance before handing the connected instance to its handler. Keep the connected instance alive while retrying creation to prevent gaps that can cause clients to receive NotFound.
  • Check the process termination signal with a non-blocking WaitForSingleObject call. Successfully opening a process handle alone does not prove the process is still running.

Add five Windows regression tests covering pipe handoff, rapid disconnects, concurrent RPC connections, and process liveness, including exited processes with retained handles and exit code 259. Add a Windows CI job for these tests.

Validation

  • All 111 daemon-related tests passed on Windows.
  • Both targeted regression tests failed against the original main implementation and passed with these fixes.
  • Formatting checks passed.
  • Clippy completed with existing warnings.
  • The full workspace test run stopped at the library suite with 261 passed and 3 failed. The same three failures were confirmed on unmodified main: binary replacement expectations and two Hermes path/detection tests.

Related to #181. The original session-loss scenario was not reproduced locally, so this change does not claim to resolve all symptoms reported in that issue.

@iuyo5678
iuyo5678 merged commit 2f84234 into main Sep 7, 2026
5 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