Skip to content

Bound Asuswrt-Merlin PreRun waits - #9

Closed
maghuro wants to merge 2 commits into
mainfrom
fix/merlin-prerun-timeouts
Closed

maghuro wants to merge 2 commits into
mainfrom
fix/merlin-prerun-timeouts

Conversation

@maghuro

@maghuro maghuro commented Sep 27, 2026

Copy link
Copy Markdown
Owner

Important

Local staging/review draft in the fork only. Per upstream contribution guidelines, an upstream issue must be filed before any PR is submitted to Control-D-Inc/ctrld.

Summary

This draft prevents the Asuswrt-Merlin startup path from waiting forever when required paths or dnsmasq never become available.

Changes

  • replace the unbounded waitDirExists loop with a timeout-aware helper;
  • bound waits for /tmp and /proc to 60 seconds;
  • bound the dnsmasq pidof wait to 60 seconds;
  • treat normal pidof "not found yet" exit status as retryable, while propagating real execution errors;
  • return contextual startup errors instead of wedging ctrld indefinitely;
  • add unit tests for success, probe failure and timeout behavior.

Scope

This is intentionally separate from dnsmasq/SDN/NVRAM integration work (#1/#2) and Merlin service wrapper work (#3).

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