Fix timeout handling for zero-millisecond values #1899
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Previously, when
timeout_mswas explicitly set to0, the conditionif args.timeout_msevaluated toFalse(since0is falsy), causing the timeout to be treated asNone(no timeout). This violated the intended behavior where0should mean "time out immediately."The fix changes the check to
if args.timeout_ms is not None, ensuring that:timeout_ms=0correctly results in a0.0second timeouttimeout_ms=None(or unset) still results in no timeoutThis aligns the implementation with standard
subprocess.run()timeout semantics and prevents unintended indefinite command execution.