-
Notifications
You must be signed in to change notification settings - Fork 3.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
unix: process: prevent exit event before data events #610
Comments
Note that the patch is not 100% correct. You can still get 'exit' before 'data' when uv__io_poll() decides to loop and poll again. |
bnoordhuis
added a commit
to bnoordhuis/libuv
that referenced
this issue
Nov 6, 2015
It was reported that some node.js tests fail on AIX because the exit event sometimes comes before the final stdio output of a child process. Work around that by deferring the signal watcher that is used for process management until after the dispatch of regular i/o watchers. Fixes: libuv#610
bnoordhuis
added a commit
to bnoordhuis/libuv
that referenced
this issue
Apr 14, 2016
It was reported that some node.js tests fail on AIX because the exit event sometimes comes before the final stdio output of a child process. Work around that by deferring the signal watcher that is used for process management until after the dispatch of regular i/o watchers. Fixes: libuv#610
bnoordhuis
added a commit
to bnoordhuis/libuv
that referenced
this issue
Apr 15, 2016
It was reported that some node.js tests fail on AIX because the exit event sometimes comes before the final stdio output of a child process. Work around that by deferring the signal watcher that is used for process management until after the dispatch of regular i/o watchers. Fixes: libuv#610 PR-URL: libuv#611 Reviewed-By: Saúl Ibarra Corretgé <[email protected]>
kthelgason
pushed a commit
to kthelgason/libuv
that referenced
this issue
May 7, 2016
It was reported that some node.js tests fail on AIX because the exit event sometimes comes before the final stdio output of a child process. Work around that by deferring the signal watcher that is used for process management until after the dispatch of regular i/o watchers. Fixes: libuv#610 PR-URL: libuv#611 Reviewed-By: Saúl Ibarra Corretgé <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
See nodejs/node#3676 - the executive summary is that the order in which the child process's stdio I/O watchers and the signal handler I/O watcher run is indeterminate. This can result in the exit callback running before the data callbacks, which is confusing. It appears to be an easy fix, @gireeshpunathil reported good luck with the patch below.
The text was updated successfully, but these errors were encountered: