[new release] eio (5 packages) (1.2) #26936
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Effect-based direct-style IO API for OCaml
CHANGES:
Changes:
Make
fork_action.h
a public header (@patricoferris Make fork_action.h a public_header ocaml-multicore/eio#769, reviewed by @talex5).Allows other libraries to add new actions.
Record trace event when spawning processes (@talex5 Record trace event when spawning processes ocaml-multicore/eio#749).
Spawning a subprocess can take a long time in some cases, so show it clearly in the traces.
Eio_unix.Net: make some return types more polymorphic (@talex5 Eio_unix.Net: make some return types more polymorphic ocaml-multicore/eio#744).
Bug fixes:
Preserve backtraces in
fork_daemon
(@talex5 Preserve backtraces in fork_daemon and fork_promise_exn ocaml-multicore/eio#779).Eio.Path: always use "/" as separator (@talex5 Eio.Path: always use "/" as separator ocaml-multicore/eio#743).
Linux backend:
Allow
alloc_fixed_or_wait
to be cancelled (@talex5 eio_linux: allow alloc_fixed_or_wait to be cancelled ocaml-multicore/eio#753).Avoid triggering a (harmless) TSan warning (@talex5 eio_linux: avoid triggering a TSan warning ocaml-multicore/eio#754, reported by @avsm).
Windows backend:
Unregister FDs on cancel (@talex5 eio_windows: unregister FDs on cancel ocaml-multicore/eio#756).
Fixes
exception Unix.Unix_error(Unix.ENOTSOCK, "select", "")
.Work around problems in
Unix.getaddrinfo
(@talex5 eio_windows: work around problems in Unix.getaddrinfo ocaml-multicore/eio#780).Fixes e.g.
No addresses found for host name "127.0.0.1"
.Group
ECONNABORTED
with other connection reset errors (@talex5 eio_windows: group ECONNABORTED with other connection reset errors ocaml-multicore/eio#783).Check
has_symlink
for tests (@create2000 fix: test_symlink ocaml-multicore/eio#771, reviewed by @patricoferris and @talex5).Improve
openat
error handling (@talex5 eio_windows: improve openat error handling ocaml-multicore/eio#742, reported by @kentookura).Fixes
exception Unix.Unix_error(Unix.ENOENT, "openat", "")
.Documentation:
examples/fs: show how to read files while scanning (@talex5 examples/fs: show how to read files while scanning ocaml-multicore/eio#745).
Add example to
Buf_read.seq
documentation (@talex5 Add example toBuf_read.seq
documentation ocaml-multicore/eio#739, requested by @darrenldl and @rizo).Build and test:
Fix tests on OpenBSD (@talex5 Fix tests on OpenBSD ocaml-multicore/eio#782).
Add advice about using AI for code generation (@patricoferris Add advice about using AI for code generation ocaml-multicore/eio#765, reviewed by @avsm and @talex5).
Minor code cleanups (@talex5 Minor code cleanups ocaml-multicore/eio#755).
Define
struct clone_args
for linux-lts versions that don't have it (@copy define struct clone_args for linux-lts versions that don't have it ocaml-multicore/eio#741, reviewed by @talex5).eio_linux: refactor fixed buffer code (@talex5 eio_linux: refactor fixed buffer code ocaml-multicore/eio#752).