Skip to content
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

Upgrade libuv to 1.48.0 #158

Merged
merged 4 commits into from
Feb 9, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 2 additions & 5 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,8 @@ jobs:
include:
- os: macos-latest
ocaml: 4.14.x
# Windows disabled due to an upstream problem with libuv's autotools
# build not generating a .dll file since commit 748d894e. See
# https://github.com/libuv/libuv/issues/4259
# - os: windows-latest
# ocaml: 4.14.x
- os: windows-latest
ocaml: 4.14.x
fail-fast: false
runs-on: ${{ matrix.os }}

Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ upgrade-libuv :
# (cd src/c/vendor/libuv && git checkout `$(LATEST_TAG)`)
make clean
make eject-build
ocaml src/gen/headers.ml
# ocaml src/gen/headers.ml
(make && make test) || true
@echo
@echo "Sanity check:"
Expand Down
8 changes: 8 additions & 0 deletions src/c/luv_c_function_descriptions.ml
Original file line number Diff line number Diff line change
Expand Up @@ -1483,6 +1483,14 @@ struct
foreign "uv_thread_equal"
(ptr t @-> ptr t @-> returning bool)

let setpriority =
foreign "uv_thread_setpriority"
(t @-> int @-> returning error_code)

let getpriority =
foreign "uv_thread_getpriority"
(t @-> ptr int @-> returning error_code)

let cpumask_size =
foreign "uv_cpumask_size"
(void @-> returning int)
Expand Down
11 changes: 11 additions & 0 deletions src/c/luv_c_type_descriptions.ml
Original file line number Diff line number Diff line change
Expand Up @@ -671,6 +671,8 @@ struct
let windows_hide = constant "UV_PROCESS_WINDOWS_HIDE" int
let windows_hide_console = constant "UV_PROCESS_WINDOWS_HIDE_CONSOLE" int
let windows_hide_gui = constant "UV_PROCESS_WINDOWS_HIDE_GUI" int
let windows_file_path_exact_name =
constant "UV_PROCESS_WINDOWS_FILE_PATH_EXACT_NAME" int
end

module Redirection =
Expand Down Expand Up @@ -813,6 +815,15 @@ struct
let no_flags = constant "UV_THREAD_NO_FLAGS" int
let has_stack_size = constant "UV_THREAD_HAS_STACK_SIZE" int
end

module Priority =
struct
let highest = constant "UV_THREAD_PRIORITY_HIGHEST" int
let above_normal = constant "UV_THREAD_PRIORITY_ABOVE_NORMAL" int
let normal = constant "UV_THREAD_PRIORITY_NORMAL" int
let below_normal = constant "UV_THREAD_PRIORITY_BELOW_NORMAL" int
let lowest = constant "UV_THREAD_PRIORITY_LOWEST" int
end
end

module TLS =
Expand Down
24 changes: 24 additions & 0 deletions src/c/shims.h
Original file line number Diff line number Diff line change
Expand Up @@ -758,6 +758,8 @@
#endif

#if UV_VERSION_MAJOR == 1 && UV_VERSION_MINOR < 47


static size_t uv_utf16_length_as_wtf8(
const uint16_t *utf16, ssize_t utf16_len)
{
Expand All @@ -782,3 +784,25 @@
abort();
}
#endif

#if UV_VERSION_MAJOR == 1 && UV_VERSION_MINOR < 48
enum {
UV_THREAD_PRIORITY_HIGHEST = 2,
UV_THREAD_PRIORITY_ABOVE_NORMAL = 1,
UV_THREAD_PRIORITY_NORMAL = 0,
UV_THREAD_PRIORITY_BELOW_NORMAL = -1,
UV_THREAD_PRIORITY_LOWEST = -2,
};

static int uv_thread_setpriority(uv_thread_t id, int priority)
{
return ENOSYS;
}

static int uv_thread_getpriority(uv_thread_t id, int *priority)
{
return ENOSYS;
}

#define UV_PROCESS_WINDOWS_FILE_PATH_EXACT_NAME 0
#endif
43 changes: 35 additions & 8 deletions src/c/vendor/configure/Makefile.in
Original file line number Diff line number Diff line change
Expand Up @@ -647,10 +647,11 @@ am__test_run_tests_SOURCES_DIST = test/blackhole-server.c \
test/test-tcp-write-in-a-row.c test/test-tcp-try-write-error.c \
test/test-tcp-write-queue-order.c test/test-test-macros.c \
test/test-thread-equal.c test/test-thread.c \
test/test-thread-affinity.c test/test-threadpool-cancel.c \
test/test-threadpool.c test/test-timer-again.c \
test/test-timer-from-check.c test/test-timer.c \
test/test-tmpdir.c test/test-tty-duplicate-key.c \
test/test-thread-affinity.c test/test-thread-priority.c \
test/test-threadpool-cancel.c test/test-threadpool.c \
test/test-timer-again.c test/test-timer-from-check.c \
test/test-timer.c test/test-tmpdir.c \
test/test-tty-duplicate-key.c \
test/test-tty-escape-sequence-processing.c test/test-tty.c \
test/test-udp-alloc-cb-fail.c test/test-udp-bind.c \
test/test-udp-connect.c test/test-udp-connect6.c \
Expand Down Expand Up @@ -810,6 +811,7 @@ am_test_run_tests_OBJECTS = test/run_tests-blackhole-server.$(OBJEXT) \
test/run_tests-test-thread-equal.$(OBJEXT) \
test/run_tests-test-thread.$(OBJEXT) \
test/run_tests-test-thread-affinity.$(OBJEXT) \
test/run_tests-test-thread-priority.$(OBJEXT) \
test/run_tests-test-threadpool-cancel.$(OBJEXT) \
test/run_tests-test-threadpool.$(OBJEXT) \
test/run_tests-test-timer-again.$(OBJEXT) \
Expand Down Expand Up @@ -1091,6 +1093,7 @@ am__depfiles_remade = src/$(DEPDIR)/libuv_la-fs-poll.Plo \
test/$(DEPDIR)/run_tests-test-test-macros.Po \
test/$(DEPDIR)/run_tests-test-thread-affinity.Po \
test/$(DEPDIR)/run_tests-test-thread-equal.Po \
test/$(DEPDIR)/run_tests-test-thread-priority.Po \
test/$(DEPDIR)/run_tests-test-thread.Po \
test/$(DEPDIR)/run_tests-test-threadpool-cancel.Po \
test/$(DEPDIR)/run_tests-test-threadpool.Po \
Expand Down Expand Up @@ -1472,10 +1475,11 @@ test_run_tests_SOURCES = test/blackhole-server.c test/echo-server.c \
test/test-tcp-write-in-a-row.c test/test-tcp-try-write-error.c \
test/test-tcp-write-queue-order.c test/test-test-macros.c \
test/test-thread-equal.c test/test-thread.c \
test/test-thread-affinity.c test/test-threadpool-cancel.c \
test/test-threadpool.c test/test-timer-again.c \
test/test-timer-from-check.c test/test-timer.c \
test/test-tmpdir.c test/test-tty-duplicate-key.c \
test/test-thread-affinity.c test/test-thread-priority.c \
test/test-threadpool-cancel.c test/test-threadpool.c \
test/test-timer-again.c test/test-timer-from-check.c \
test/test-timer.c test/test-tmpdir.c \
test/test-tty-duplicate-key.c \
test/test-tty-escape-sequence-processing.c test/test-tty.c \
test/test-udp-alloc-cb-fail.c test/test-udp-bind.c \
test/test-udp-connect.c test/test-udp-connect6.c \
Expand Down Expand Up @@ -2053,6 +2057,8 @@ test/run_tests-test-thread.$(OBJEXT): test/$(am__dirstamp) \
test/$(DEPDIR)/$(am__dirstamp)
test/run_tests-test-thread-affinity.$(OBJEXT): test/$(am__dirstamp) \
test/$(DEPDIR)/$(am__dirstamp)
test/run_tests-test-thread-priority.$(OBJEXT): test/$(am__dirstamp) \
test/$(DEPDIR)/$(am__dirstamp)
test/run_tests-test-threadpool-cancel.$(OBJEXT): test/$(am__dirstamp) \
test/$(DEPDIR)/$(am__dirstamp)
test/run_tests-test-threadpool.$(OBJEXT): test/$(am__dirstamp) \
Expand Down Expand Up @@ -2368,6 +2374,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@test/$(DEPDIR)/run_tests-test-test-macros.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@test/$(DEPDIR)/run_tests-test-thread-affinity.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@test/$(DEPDIR)/run_tests-test-thread-equal.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@test/$(DEPDIR)/run_tests-test-thread-priority.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@test/$(DEPDIR)/run_tests-test-thread.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@test/$(DEPDIR)/run_tests-test-threadpool-cancel.Po@am__quote@ # am--include-marker
@AMDEP_TRUE@@am__include@ @am__quote@test/$(DEPDIR)/run_tests-test-threadpool.Po@am__quote@ # am--include-marker
Expand Down Expand Up @@ -4982,6 +4989,20 @@ test/run_tests-test-thread-affinity.obj: test/test-thread-affinity.c
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_run_tests_CFLAGS) $(CFLAGS) -c -o test/run_tests-test-thread-affinity.obj `if test -f 'test/test-thread-affinity.c'; then $(CYGPATH_W) 'test/test-thread-affinity.c'; else $(CYGPATH_W) '$(srcdir)/test/test-thread-affinity.c'; fi`

test/run_tests-test-thread-priority.o: test/test-thread-priority.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_run_tests_CFLAGS) $(CFLAGS) -MT test/run_tests-test-thread-priority.o -MD -MP -MF test/$(DEPDIR)/run_tests-test-thread-priority.Tpo -c -o test/run_tests-test-thread-priority.o `test -f 'test/test-thread-priority.c' || echo '$(srcdir)/'`test/test-thread-priority.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) test/$(DEPDIR)/run_tests-test-thread-priority.Tpo test/$(DEPDIR)/run_tests-test-thread-priority.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test/test-thread-priority.c' object='test/run_tests-test-thread-priority.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_run_tests_CFLAGS) $(CFLAGS) -c -o test/run_tests-test-thread-priority.o `test -f 'test/test-thread-priority.c' || echo '$(srcdir)/'`test/test-thread-priority.c

test/run_tests-test-thread-priority.obj: test/test-thread-priority.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_run_tests_CFLAGS) $(CFLAGS) -MT test/run_tests-test-thread-priority.obj -MD -MP -MF test/$(DEPDIR)/run_tests-test-thread-priority.Tpo -c -o test/run_tests-test-thread-priority.obj `if test -f 'test/test-thread-priority.c'; then $(CYGPATH_W) 'test/test-thread-priority.c'; else $(CYGPATH_W) '$(srcdir)/test/test-thread-priority.c'; fi`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) test/$(DEPDIR)/run_tests-test-thread-priority.Tpo test/$(DEPDIR)/run_tests-test-thread-priority.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test/test-thread-priority.c' object='test/run_tests-test-thread-priority.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_run_tests_CFLAGS) $(CFLAGS) -c -o test/run_tests-test-thread-priority.obj `if test -f 'test/test-thread-priority.c'; then $(CYGPATH_W) 'test/test-thread-priority.c'; else $(CYGPATH_W) '$(srcdir)/test/test-thread-priority.c'; fi`

test/run_tests-test-threadpool-cancel.o: test/test-threadpool-cancel.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_run_tests_CFLAGS) $(CFLAGS) -MT test/run_tests-test-threadpool-cancel.o -MD -MP -MF test/$(DEPDIR)/run_tests-test-threadpool-cancel.Tpo -c -o test/run_tests-test-threadpool-cancel.o `test -f 'test/test-threadpool-cancel.c' || echo '$(srcdir)/'`test/test-threadpool-cancel.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) test/$(DEPDIR)/run_tests-test-threadpool-cancel.Tpo test/$(DEPDIR)/run_tests-test-threadpool-cancel.Po
Expand Down Expand Up @@ -6167,6 +6188,7 @@ distclean: distclean-am
-rm -f test/$(DEPDIR)/run_tests-test-test-macros.Po
-rm -f test/$(DEPDIR)/run_tests-test-thread-affinity.Po
-rm -f test/$(DEPDIR)/run_tests-test-thread-equal.Po
-rm -f test/$(DEPDIR)/run_tests-test-thread-priority.Po
-rm -f test/$(DEPDIR)/run_tests-test-thread.Po
-rm -f test/$(DEPDIR)/run_tests-test-threadpool-cancel.Po
-rm -f test/$(DEPDIR)/run_tests-test-threadpool.Po
Expand Down Expand Up @@ -6475,6 +6497,7 @@ maintainer-clean: maintainer-clean-am
-rm -f test/$(DEPDIR)/run_tests-test-test-macros.Po
-rm -f test/$(DEPDIR)/run_tests-test-thread-affinity.Po
-rm -f test/$(DEPDIR)/run_tests-test-thread-equal.Po
-rm -f test/$(DEPDIR)/run_tests-test-thread-priority.Po
-rm -f test/$(DEPDIR)/run_tests-test-thread.Po
-rm -f test/$(DEPDIR)/run_tests-test-threadpool-cancel.Po
-rm -f test/$(DEPDIR)/run_tests-test-threadpool.Po
Expand Down Expand Up @@ -6555,6 +6578,10 @@ uninstall-am: uninstall-includeHEADERS uninstall-libLTLIBRARIES \
.PRECIOUS: Makefile


@WINNT_TRUE@check-am: test/run-tests_no_ext
@WINNT_TRUE@test/run-tests_no_ext: test/run-tests$(EXEEXT)
@WINNT_TRUE@ cp test/run-tests$(EXEEXT) test/run-tests_no_ext

# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
2 changes: 1 addition & 1 deletion src/c/vendor/configure/commit-hash
Original file line number Diff line number Diff line change
@@ -1 +1 @@
be6b81a352d17513c95be153afcb3148f1a451cd
e9f29cb984231524e3931aa0ae2c5dae1a32884e
22 changes: 11 additions & 11 deletions src/c/vendor/configure/configure
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.71 for libuv 1.47.0.
# Generated by GNU Autoconf 2.71 for libuv 1.48.0.
#
# Report bugs to <https://github.com/libuv/libuv/issues>.
#
Expand Down Expand Up @@ -618,8 +618,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='libuv'
PACKAGE_TARNAME='libuv'
PACKAGE_VERSION='1.47.0'
PACKAGE_STRING='libuv 1.47.0'
PACKAGE_VERSION='1.48.0'
PACKAGE_STRING='libuv 1.48.0'
PACKAGE_BUGREPORT='https://github.com/libuv/libuv/issues'
PACKAGE_URL=''

Expand Down Expand Up @@ -1390,7 +1390,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
\`configure' configures libuv 1.47.0 to adapt to many kinds of systems.
\`configure' configures libuv 1.48.0 to adapt to many kinds of systems.

Usage: $0 [OPTION]... [VAR=VALUE]...

Expand Down Expand Up @@ -1461,7 +1461,7 @@ fi

if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of libuv 1.47.0:";;
short | recursive ) echo "Configuration of libuv 1.48.0:";;
esac
cat <<\_ACEOF

Expand Down Expand Up @@ -1576,7 +1576,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
libuv configure 1.47.0
libuv configure 1.48.0
generated by GNU Autoconf 2.71

Copyright (C) 2021 Free Software Foundation, Inc.
Expand Down Expand Up @@ -1832,7 +1832,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

It was created by libuv $as_me 1.47.0, which was
It was created by libuv $as_me 1.48.0, which was
generated by GNU Autoconf 2.71. Invocation command line was

$ $0$ac_configure_args_raw
Expand Down Expand Up @@ -3169,7 +3169,7 @@ fi

# Define the identity of the package.
PACKAGE='libuv'
VERSION='1.47.0'
VERSION='1.48.0'


printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h
Expand Down Expand Up @@ -15042,7 +15042,7 @@ fi

case $host_os in
mingw*)
LIBS="$LIBS -lws2_32 -lpsapi -liphlpapi -lshell32 -luserenv -luser32 -ldbghelp -lole32 -luuid -lshell32"
LIBS="$LIBS -lws2_32 -lpsapi -liphlpapi -luserenv -luser32 -ldbghelp -lole32 -lshell32"
;;
esac
case $host_os in
Expand Down Expand Up @@ -15741,7 +15741,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
This file was extended by libuv $as_me 1.47.0, which was
This file was extended by libuv $as_me 1.48.0, which was
generated by GNU Autoconf 2.71. Invocation command line was

CONFIG_FILES = $CONFIG_FILES
Expand Down Expand Up @@ -15804,7 +15804,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config='$ac_cs_config_escaped'
ac_cs_version="\\
libuv config.status 1.47.0
libuv config.status 1.48.0
configured by $0, generated by GNU Autoconf 2.71,
with options \\"\$ac_cs_config\\"

Expand Down
2 changes: 1 addition & 1 deletion src/c/vendor/libuv
5 changes: 4 additions & 1 deletion src/feature/detect_features.ml
Original file line number Diff line number Diff line change
Expand Up @@ -254,6 +254,7 @@ let () =
needs 12 "get_osfhandle" "See {!Luv.File.get_osfhandle}.";
needs 45 "getaffinity" "See {!Luv.Thread.getaffinity}";
needs 45 "getcpu" "See {!Luv.Thread.getcpu}.";
needs 48 "getpriority" "See {!Luv.Thread.getpriority}.";
needs 28 "gettimeofday" "See {!Luv.Time.gettimeofday}.";
needs 16 "if_indextoiid" "See {!Luv.Network.if_indextoiid}.";
needs 16 "if_indextoname" "See {!Luv.Network.if_indextoname}.";
Expand Down Expand Up @@ -284,9 +285,11 @@ let () =
needs 14 "prioritized" "See [`PRIORITIZED] in {!Luv.Poll.Event.t}.";
needs 24 "process_windows_hide_console" "See {!Luv.Process.spawn}.";
needs 24 "process_windows_hide_gui" "See {!Luv.Process.spawn}.";
needs 48 "process_windows_file_path_exact_name" "See {!Luv.Process.spawn}.";
needs 33 "random" "See {!Luv.Random.random}.";
needs 28 "readdir" "See {!Luv.File.readdir}.";
needs 45 "setaffinity" "See {!Luv.Thread.setaffinity}";
needs 45 "setaffinity" "See {!Luv.Thread.setaffinity}.";
needs 48 "setpriority" "See {!Luv.Thread.setpriority}.";
needs 12 "signal_start_oneshot" "See {!Luv.Signal.start_oneshot}.";
needs 34 "sleep" "See {!Luv.Time.sleep}.";
needs 41 "socketpair" "See {!Luv.TCP.socketpair}.";
Expand Down
2 changes: 2 additions & 0 deletions src/process.ml
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,7 @@ let spawn
?windows_hide
?windows_hide_console
?windows_hide_gui
?windows_file_path_exact_name
path arguments =

let loop = Loop.or_default loop in
Expand Down Expand Up @@ -167,6 +168,7 @@ let spawn
|> maybe_flag windows_hide Flag.windows_hide
|> maybe_flag windows_hide_console Flag.windows_hide_console
|> maybe_flag windows_hide_gui Flag.windows_hide_gui
|> maybe_flag windows_file_path_exact_name Flag.windows_file_path_exact_name
in

let redirections, redirection_count = build_redirection_array redirect in
Expand Down
7 changes: 5 additions & 2 deletions src/process.mli
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,7 @@ val spawn :
?windows_hide:bool ->
?windows_hide_console:bool ->
?windows_hide_gui:bool ->
?windows_file_path_exact_name:bool ->
string ->
string list ->
(t, Error.t) result
Expand Down Expand Up @@ -117,12 +118,14 @@ val spawn :
process, and redirect them to [/dev/null] or [nul].

[?windows_hide_console] and [?windows_hide_gui] have no effect on libuv
prior to 1.24.0.
prior to 1.24.0. [?windows_file_path_exact_name] has no effect on libuv
prior to 1.48.0.

{{!Luv.Require} Feature checks}:

- [Luv.Require.(has process_windows_hide_console)]
- [Luv.Require.(has process_windows_hide_gui)] *)
- [Luv.Require.(has process_windows_hide_gui)]
- [Luv.Require.(has process_windows_file_path_exact_name)] *)

val disable_stdio_inheritance : unit -> unit
(** Disables (tries) file descriptor inheritance for inherited descriptors.
Expand Down
Loading