summaryrefslogtreecommitdiffstats
path: root/Utilities/cmlibuv/src/unix/internal.h
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'upstream-libuv' into update-libuvBrad King2020-04-291-2/+0
| | | | | * upstream-libuv: libuv 2020-04-29 (e7ebae26)
* Merge branch 'upstream-libuv' into update-libuvBrad King2020-04-061-4/+42
| | | | | * upstream-libuv: libuv 2020-04-06 (d21f5aea)
* Merge branch 'upstream-libuv' into update-libuvBrad King2019-06-181-2/+9
| | | | | * upstream-libuv: libuv 2019-06-10 (ee24ce90)
* Merge branch 'upstream-libuv' into update-libuvBrad King2019-01-171-44/+1
| | | | | * upstream-libuv: libuv 2019-01-15 (f84c5e69)
* libuv: Revert local linux/sparc64 fix now that we have upstream fixBrad King2018-05-071-1/+1
|
* Merge branch 'upstream-libuv' into update-libuvBrad King2018-05-071-1/+14
| | | | | * upstream-libuv: libuv 2018-05-06 (bf605bd7)
* libuv: linux/sparc64: use fcntl to set and clear O_NONBLOCKBrad King2018-05-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Upstream libuv commits: * node-v0.6.0~28 (linux: use ioctl(FIONBIO) to set O_NONBLOCK, saves a syscall, 2011-10-29) * v1.11.0~11 (unix: use async-signal safe functions between fork and exec, 2016-12-12) left an asymmetry in the way O_NONBLOCK is set and cleared. Normally ioctl/FIONBIO is used for both. However, uv_spawn uses fcntl/O_NONBLOCK to clear O_NONBLOCK between fork and exec. This fails on Linux/sparc64 where setting via ioctl/FIONBIO actually sets two bits (in O_NDELAY) that cause clearing via fcntl/O_NONBLOCK to be silently ignored (though clearing via ioctl/FIONBIO or fcntl/O_NDELAY works). Since CMake commit v3.11.0-rc1~117^2 (CTest: Re-implement test process handling using libuv, 2017-12-10), CTest uses libuv. On Linux/sparc64 child processes have been started with non-blocking output pipes. This can lead to write errors or lost output from children not prepared to deal with `EAGAIN` on stdout or stderr. Fix this for now by switching libuv back to fcntl/O_NONBLOCK to set and clear O_NONBLOCK when compiled on Linux/sparc64. LibUV-Issue: 1830 Fixes: #17941
* Merge branch 'upstream-libuv' into update-libuvBrad King2018-01-191-1/+14
| | | | | * upstream-libuv: libuv 2018-01-19 (63de1eca)
* bootstrap: Make libuv available during bootstrapBrad King2017-09-171-2/+12
| | | | | | | On UNIX, build only the parts of libuv we need for the filesystem, process, and poll abstractions using the POSIX poll() backend. This avoids many platform-specific conditions. On Windows, build all of libuv; there are no conditional alternatives anyway.
* Merge branch 'upstream-libuv' into update-libuvBrad King2017-05-151-13/+9
| | | | | | | * upstream-libuv: libuv 2017-05-09 (e11dcd43) Fixes: #16878
* Merge branch 'upstream-libuv' into update-libuvBrad King2017-02-221-2/+10
| | | | | * upstream-libuv: libuv 2017-02-21 (52ae8264)
* libuv: Avoid including macOS CoreServices header globallyBrad King2016-08-311-4/+1
| | | | | We only need the availability macros in `unix/internal.h`. We already include CoreServices where needed in implementation files.
* Merge branch 'upstream-libuv' into import-libuvBrad King2016-08-311-0/+325
* upstream-libuv: libuv 2016-08-30 (897738b1)