scripts/run: Redirect QEMU stdin to /dev/null to prevent SIGTTIN - #108
Open
CristianAndrei1423 wants to merge 2 commits into
Open
scripts/run: Redirect QEMU stdin to /dev/null to prevent SIGTTIN#108CristianAndrei1423 wants to merge 2 commits into
CristianAndrei1423 wants to merge 2 commits into
Conversation
Contributor
|
Ah nice will incorporate this |
Author
|
One detail that i need to add is that QEMU vm's read from stdin only when given the -nographic flag. I specifically changed only the scripts that had this flag given. |
There was a problem hiding this comment.
Pull request overview
This PR updates the per-app QEMU run scripts to prevent backgrounded QEMU processes from being suspended by SIGTTIN when they attempt to read from the controlling terminal, by redirecting stdin to /dev/null.
Changes:
- Redirect QEMU stdin to
/dev/nullacross multiple.scripts/run/qemu.*scripts. - Add line continuations (
\) where needed so the stdin redirection applies to the QEMU invocation.
Reviewed changes
Copilot reviewed 25 out of 25 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| wamr/.scripts/run/qemu.x86_64 | Redirects QEMU stdin to /dev/null. |
| sqlite/.scripts/run/qemu.x86_64 | Redirects QEMU stdin to /dev/null. |
| sqlite/.scripts/run/qemu.arm64 | Redirects QEMU stdin to /dev/null. |
| redis/.scripts/run/qemu.x86_64 | Redirects QEMU stdin to /dev/null. |
| redis/.scripts/run/qemu.arm64 | Attempts to redirect QEMU stdin to /dev/null (currently not correctly attached to the QEMU command). |
| python3-hello/.scripts/run/qemu.x86_64 | Redirects QEMU stdin to /dev/null. |
| python3-hello/.scripts/run/qemu.arm64 | Redirects QEMU stdin to /dev/null. |
| nginx/.scripts/run/qemu.x86_64 | Redirects QEMU stdin to /dev/null. |
| nginx/.scripts/run/qemu.arm64 | Redirects QEMU stdin to /dev/null. |
| elfloader-net/.scripts/run/qemu.x86_64 | Redirects QEMU stdin to /dev/null. |
| elfloader-basic/.scripts/run/qemu.x86_64 | Redirects QEMU stdin to /dev/null. |
| cpp-http/.scripts/run/qemu.x86_64 | Redirects QEMU stdin to /dev/null. |
| cpp-http/.scripts/run/qemu.arm64 | Redirects QEMU stdin to /dev/null. |
| cpp-hello/.scripts/run/qemu.x86_64 | Redirects QEMU stdin to /dev/null. |
| cpp-hello/.scripts/run/qemu.arm64 | Redirects QEMU stdin to /dev/null. |
| click/.scripts/run/qemu.x86_64 | Redirects QEMU stdin to /dev/null. |
| click/.scripts/run/qemu.arm64 | Redirects QEMU stdin to /dev/null. |
| c-http/.scripts/run/qemu.x86_64 | Redirects QEMU stdin to /dev/null. |
| c-http/.scripts/run/qemu.arm64 | Redirects QEMU stdin to /dev/null. |
| c-hello/.scripts/run/qemu.x86_64 | Redirects QEMU stdin to /dev/null. |
| c-hello/.scripts/run/qemu.arm64 | Redirects QEMU stdin to /dev/null. |
| c-fs/.scripts/run/qemu.x86_64 | Redirects QEMU stdin to /dev/null. |
| c-fs/.scripts/run/qemu.arm64 | Redirects QEMU stdin to /dev/null. |
| bincompat-java-hello/.scripts/run/qemu.x86_64 | Redirects QEMU stdin to /dev/null. |
| bincompat-c-hello/.scripts/run/qemu.x86_64 | Redirects QEMU stdin to /dev/null. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Bug that is fixed : whenever the testing scripts boots up the QEMU Virtual Machine, it is put in background. Because of that, it is not allowed to read from the terminal, so the kernel sends SIGTTIN and suspends it, making the test fail automatically.
Fix : Just redirect stdin to /dev/null so that QEMU gets EOF instead. The fix was tested with wrapper.sh on nginx.