Skip to content

Allow forked executor to finish with interactive stdin - #54

Open
efegokdemir wants to merge 1 commit into
apache:mainfrom
efegokdemir:codex/issue-50-interactive-stdin
Open

efegokdemir wants to merge 1 commit into
apache:mainfrom
efegokdemir:codex/issue-50-interactive-stdin

Conversation

@efegokdemir

Copy link
Copy Markdown

Summary

Fixes #50 by allowing a forked process to finish without waiting for a caller-supplied stdin stream to reach EOF.

Changes

  • Wait for the child process and the stdout/stderr pumps independently of the stdin pump.
  • Close the child stdin stream after process completion.
  • Add a regression test using a non-EOF stdin stream.

Testing

  • JAVA_HOME=/opt/homebrew/opt/openjdk@21/libexec/openjdk.jdk/Contents/Home PATH="$JAVA_HOME/bin:$PATH" mvn -pl maven-executor -Dtest=ForkedMavenExecutorTest test — 16 tests passed, 1 skipped.
  • JAVA_HOME=/opt/homebrew/opt/openjdk@21/libexec/openjdk.jdk/Contents/Home PATH="$JAVA_HOME/bin:$PATH" mvn -pl maven-executor spotless:apply — passed.
  • Checkstyle and Apache RAT — passed.
  • git diff --check — passed.
  • Full module test run executed; the forked and toolbox suites passed, while the existing embedded color-output test defaultFs4CaptureOutputWithForcedColor failed in this environment because ANSI output was absent.

AI assistance was used; I reviewed the complete change and validation results.

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.

Forked executor blocks until caller-supplied stdin reaches EOF

1 participant