diff options
author | Ben Noordhuis <info@bnoordhuis.nl> | 2018-12-30 19:35:10 +0100 |
---|---|---|
committer | Ben Noordhuis <info@bnoordhuis.nl> | 2018-12-30 20:13:48 +0100 |
commit | c560cf931c7cace803708f8fc03c3cb6c9edbcf4 (patch) | |
tree | 045805580423a07b0f557a9eb2360ebced3c261f /docs/src | |
parent | 639cc46f2c34a36ff99a19dc2be005583c54bf59 (diff) | |
download | libuv-c560cf931c7cace803708f8fc03c3cb6c9edbcf4.tar.gz libuv-c560cf931c7cace803708f8fc03c3cb6c9edbcf4.zip |
unix: don't send handle twice on partial write
Guard against sending the handle over the UNIX domain socket twice
when the first sendmsg() didn't write all bytes.
The changes to src/win partially undo changes made earlier this year,
see the referenced pull request for details.
Libuv never made promises about the value of `req->send_handle` at
different points in time so this should be a safe, non-breaking change.
No tests because this particular condition is hard to hit reliably
across platforms. I spent a lot of time trying to write one but it
turned out hideously complex, and worse, flaky.
Fixes: https://github.com/libuv/libuv/issues/2086
PR-URL: https://github.com/libuv/libuv/pull/2097
Refs: https://github.com/libuv/libuv/pull/1843
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
Diffstat (limited to 'docs/src')
0 files changed, 0 insertions, 0 deletions