use EVFILT_PROC instead of SIGCHLD on *BSD to monitor child exit#3441
use EVFILT_PROC instead of SIGCHLD on *BSD to monitor child exit#3441vtjnash merged 15 commits intolibuv:v1.xfrom
Conversation
|
This looks great. Could you filter the PR here to just contain the 80659a5 commit contents? I have a few minor review comments, but otherwise, I think this should be pretty close to ready. |
I'm not sure that's possible with the GitHub UI; I'd have to close this and open a new PR on your fork. |
|
You cannot do it with the UI, but you can locally do an interactive git rebase, drop those commits, then force push here |
but github will still think the base is libuv/libuv:1.x, right? my commits here don't make sense without your commits. not quite sure what you're asking for here. |
|
I want to merge this change first, then merge my PR (I can rebase after merging this) |
32c83e2 to
78e32e3
Compare
|
ah i see, sorry, i had assumed that this change depended on changes from your PR, but it doesn't. Rebased + title updated. |
|
done. |
vtjnash
left a comment
There was a problem hiding this comment.
I will leave this open for the weekend, in case anyone else wants to comment, but merge Monday, if nobody comments before then.
The kernel may return ESRCH if the child has already exited here. This is rather annoying, and means we must indirectly handle notification to our event loop of the process exit. Refs: libuv#3441 Refs: libuv#3257
This adds a workaround for an xnu kernel bug that sometimes results in SIGCHLD not being delivered. The workaround is to use kevent to listen for EVFILT_PROC/NOTE_EXIT events instead of relying on SIGCHLD on *BSD. Apple rdar: FB9529664 Refs: libuv#3257
The kernel may return ESRCH if the child has already exited here. This is rather annoying, and means we must indirectly handle notification to our event loop of the process exit. Refs: libuv#3441 Refs: libuv#3257
The kernel may return ESRCH if the child has already exited here. This is rather annoying, and means we must indirectly handle notification to our event loop of the process exit. Refs: libuv/libuv#3441 Refs: libuv/libuv#3257
The kernel may return ESRCH if the child has already exited here. This is rather annoying, and means we must indirectly handle notification to our event loop of the process exit. Refs: libuv/libuv#3441 Refs: libuv/libuv#3257
This adds a workaround for an xnu kernel bug that sometimes results in SIGCHLD not being delivered. The workaround is to use kevent to listen for EVFILT_PROC/NOTE_EXIT events instead of relying on SIGCHLD on *BSD.