Skip to content

Windows support: replace the SIGALRM per-call timeout #3

Description

@LuShadowX

The per-call timeout in src/nodrift/replay.py uses signal.SIGALRM, which does not exist on Windows. The whole tool is therefore Unix-only.

What to do

Replace the alarm with something portable. Options worth weighing:

  • run each call in a worker thread with a join timeout (cannot kill a hung call, but does not block the run)
  • a watchdog thread that raises in the main thread via ctypes
  • run replay batches in a subprocess with a timeout

A mutation can easily produce an infinite loop, so the timeout is not optional — that is the constraint to design around.

Relevant file: src/nodrift/replay.py

Metadata

Metadata

Assignees

No one assigned

    Labels

    help wantedNeeds a hand, larger scopeportabilityOS or Python version support

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions