Commit Graph

28 Commits

Author SHA1 Message Date
Dylan Snelgrove
0f515c2d26 libuv: win/spawn: add option to use parent process error mode
Backport changes from libuv v2 commit `8ad246557a` (win,process: allow
users to configure child error mode, 2024-10-17) to add the
`UV_PROCESS_WINDOWS_USE_PARENT_ERROR_MODE` option.

Also use `UV_PROCESS_WINDOWS_USE_PARENT_ERROR_MODE` to keep
the behavior the same as before the option was added,
all child processes would be spawned the the parent's
error mode.

Issue: #20115
2024-10-25 08:51:45 -04:00
Brad King
422c1de564 libuv: macos: restore use of kqueue instead of posix poll
Revert commit f54ec4e7f9 (libuv: macos: use posix poll instead of
kqueue, 2024-03-31, v3.29.1~7^2) and its parent.  It is not necessary
after the kqueue-based implementation was fixed to reap child processes
more reliably.

Issue: #25839
2024-06-21 16:45:55 -04:00
Brad King
f54ec4e7f9 libuv: macos: use posix poll instead of kqueue
Since commit 5420639a8d (cmExecuteProcessCommand: Replace cmsysProcess
with cmUVProcessChain, 2023-06-01, v3.28.0-rc1~138^2~8) we've observed
spurious process hangs in `uv__io_poll` waiting for `kqueue` to deliver
events on macOS.

Issue: #25839
2024-04-01 09:56:50 -04:00
Brad King
af330faaf1 libuv: darwin: group kqueue-specific definitions together 2024-04-01 09:55:49 -04:00
Brad King
077a1d5769 libuv: win/spawn: optionally run executable paths with no file extension
Backport libuv commit `3f7191e5` (win/spawn: optionally run executable
paths with no file extension, 2024-02-05, v1.48.0~8) to add the
`UV_PROCESS_WINDOWS_FILE_PATH_EXACT_NAME` option we now use.

Issue: #25450
2024-02-08 17:00:47 -05:00
Brad King
ff82df301c Merge branch 'upstream-libuv' into update-libuv
* upstream-libuv:
  libuv 2022-07-12 (0c1fa696)
2022-09-27 09:50:16 -04:00
Brad King
ea70fb3905 Merge branch 'upstream-libuv' into update-libuv
# By libuv upstream
* upstream-libuv:
  libuv 2022-01-13 (2fbfa035)
2022-01-13 15:46:20 -05:00
Brad King
74a05716a4 Merge branch 'upstream-libuv' into update-libuv
* upstream-libuv:
  libuv 2021-11-09 (0f696da5)
2021-11-17 06:40:02 -05:00
Brad King
e21325c2c6 Merge branch 'upstream-libuv' into update-libuv
* upstream-libuv:
  libuv 2020-09-22 (ed5b42d5)
2020-09-23 12:13:59 -04:00
Brad King
e771330dd4 bootstrap: Fix libuv target platform conditions on macOS
In commit 714ce72882 (bootstrap: Make libuv available during bootstrap,
2017-09-13, v3.10.0-rc1~106^2) we modified libuv to use POSIX interfaces
during bootstrap.  However, some code still expects `TARGET_OS_IPHONE`
to be defined on Apple platforms to either `0` or `1`.  In order to
offer this, include `<TargetConditionals.h>` on Apple platforms even
when bootstrapping.
2020-07-22 14:42:04 -04:00
Brad King
efdd451f4b Merge branch 'upstream-libuv' into update-libuv
* upstream-libuv:
  libuv 2020-04-29 (e7ebae26)
2020-04-29 08:21:02 -04:00
Brad King
722d6b4105 Merge branch 'upstream-libuv' into update-libuv
* upstream-libuv:
  libuv 2020-04-06 (d21f5aea)
2020-04-06 11:58:14 -04:00
Earle Lowe
5ffb2dbff6 libuv: Add partial port to HP-UX
Port enough of libuv to HP-UX 11.31 ia64 with GCC 4.9.3 to work for
CMake.
2019-09-20 10:30:01 -04:00
Brad King
69b139cfca Merge branch 'upstream-libuv' into update-libuv
* upstream-libuv:
  libuv 2019-06-10 (ee24ce90)
2019-06-18 07:45:53 -04:00
Brad King
1136275ae1 libuv: Include uv/ headers from each other without any path
Headers in `uv/` can include each other without the `uv/` prefix.  Using
the prefix assumes that the location of `uv/` is in the include file
search path, but it is possible to include `uv.h` via a longer path.
2019-01-17 10:27:14 -05:00
Brad King
1e1209729b Merge branch 'upstream-libuv' into update-libuv
* upstream-libuv:
  libuv 2019-01-15 (f84c5e69)
2019-01-17 10:26:32 -05:00
Brad King
42fbb28516 Merge branch 'upstream-libuv' into update-libuv
* upstream-libuv:
  libuv 2018-05-06 (bf605bd7)
2018-05-07 11:48:01 -04:00
Brad King
24de561a1a libuv: unix,win: add uv_spawn option to set child CPU affinity mask
Implement it on Linux, FreeBSD, and Windows for now, and fail with
UV_ENOTSUP on other platforms.

Backported from upstream libuv PR 1527, scheduled for inclusion
in libuv 2.0.
2018-03-05 09:21:31 -05:00
Brad King
43d6e5a71f libuv: misc: add function to get CPU affinity mask size
Implement it on Linux, FreeBSD, and Windows for now, and return
UV_ENOTSUP on other platforms.

Backported from upstream libuv PR 1527, scheduled for inclusion
in libuv 2.0.
2018-03-05 09:21:31 -05:00
Brad King
b58d48c15f Merge branch 'upstream-libuv' into update-libuv
* upstream-libuv:
  libuv 2018-01-19 (63de1eca)
2018-01-19 13:03:04 -05:00
Brad King
714ce72882 bootstrap: Make libuv available during bootstrap
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.
2017-09-17 11:10:18 -04:00
Brad King
1ebb421bfc Merge branch 'upstream-libuv' into update-libuv
* upstream-libuv:
  libuv 2017-05-25 (dc596109)
2017-05-26 13:33:41 -04:00
Brad King
ed17516b31 Merge branch 'upstream-libuv' into update-libuv
* upstream-libuv:
  libuv 2017-05-09 (e11dcd43)

Fixes: #16878
2017-05-15 10:43:50 -04:00
Brad King
741b7621b3 Merge branch 'upstream-libuv' into update-libuv
* upstream-libuv:
  libuv 2017-02-21 (52ae8264)
2017-02-21 19:40:27 -05:00
Brad King
9130b53a5e libuv: Conditionally declare Windows APIs for VS 2008 and below 2016-08-31 09:05:13 -04:00
Brad King
05dbc204cd libuv: Fix Windows API function typedef syntax 2016-08-31 09:05:12 -04:00
Brad King
13b7e7587d libuv: Build the library within CMake
Take logic from upstream `Makefile.am` and `configure.ac` to build libuv
sources.

Update `uv.h` to include KWSys Large File Support configuration so that
consistent stream libraries are used (on AIX with XL).

Add a `cm_uv.h` header to include the CMake-provided copy of the `uv.h`
header from CMake sources.
2016-08-31 09:02:19 -04:00
Brad King
d96416fe48 Merge branch 'upstream-libuv' into import-libuv
* upstream-libuv:
  libuv 2016-08-30 (897738b1)
2016-08-31 09:01:07 -04:00