Thomas Leonard
ce83e85327
Use Fmt.Dump.signal
to format signals
...
Also, make the message clearer and avoid "signaled" vs "signalled"
confusion.
2023-06-02 15:11:47 +01:00
Thomas Leonard
85adab31bc
Merge pull request #541 from talex5/release
...
Update documentation for Eio 0.10
2023-06-02 13:50:23 +01:00
Thomas Leonard
081e7549ba
Update documentation for Eio 0.10
2023-06-02 12:08:43 +01:00
Thomas Leonard
687ebf99a6
Merge pull request #540 from talex5/release
...
Prepare release
v0.10
2023-06-02 11:55:58 +01:00
Thomas Leonard
1437b238a6
Prepare release
2023-06-02 11:23:52 +01:00
Thomas Leonard
73ce323948
Merge pull request #509 from patricoferris/fs-windows
...
Fs implementation for windows
2023-06-02 11:20:05 +01:00
Patrick Ferris
9cf5f35063
eio_windows: initial filesystem implementation
2023-06-02 09:41:00 +01:00
Thomas Leonard
bd77643795
Merge pull request #532 from patricoferris/windows-no-pins
...
Remove pins for windows
2023-06-02 09:40:46 +01:00
Patrick Ferris
75ce40e26b
Remove pins for windows
2023-06-02 09:25:57 +01:00
Thomas Leonard
0325b6742c
Merge pull request #539 from talex5/fix-flush
...
Buf_write: fix flush returning too early
2023-06-02 09:25:49 +01:00
Thomas Leonard
d47d5779b3
Buf_write: fix flush returning too early
...
`flush` previously only waited until the data had been taken out of the
buffer (i.e. received by the underlying flow), but did not wait for it
to be transmitted.
See https://github.com/ocaml-multicore/eio/issues/527 .
2023-06-02 09:16:34 +01:00
Thomas Leonard
ac99f3162c
Merge pull request #533 from avsm/ignore-notconn
...
ignore ENOTCONN errors on socket shutdown
2023-06-02 09:15:05 +01:00
Anil Madhavapeddy
0453510d5a
Ignore ENOTCONN errors on socket shutdown
...
macOS can return ENOTCONN occasionally even if the other side did
a graceful shutdown. This changes all the backends to ignore
ENOTCONN; even though it's unlikely to show up on Linux, there's
still not much point throwing the exception from a shutdown on any
of the platforms.
Fixes #521
2023-06-01 09:55:52 +01:00
Thomas Leonard
c0b2cd0c4c
Merge pull request #537 from talex5/fix-socket-close
...
Remove close from socket type
2023-06-01 08:55:43 +01:00
Thomas Leonard
ccf147474e
Remove close from socket type
...
Sockets created by `accept_fork` can't be closed manually currently, so
revert the part of #516 that said they could.
We might want to revisit this later, but for now put things back how
they were.
Reported by Anil Madhavapeddy.
2023-06-01 06:51:04 +01:00
Thomas Leonard
739cb87f97
Merge pull request #538 from talex5/changelog
...
Update changelog
2023-05-31 15:45:20 +01:00
Thomas Leonard
349a41c716
Update changelog
2023-05-31 14:35:14 +01:00
Thomas Leonard
b879f87b84
Merge pull request #500 from ocaml-multicore/current-bench
...
Run benchmarks with current-bench
2023-05-31 13:21:24 +01:00
Sudha Parimala
8fa37d51f5
More benchmarks to current-bench
...
Co-authored-by: Thomas Leonard <talex5@gmail.com>
2023-05-31 10:54:51 +01:00
Anil Madhavapeddy
bf25e24f9d
Merge pull request #530 from patricoferris/windows-vendor-stubs
...
Windows vendor stubs
2023-05-28 17:27:19 +01:00
Patrick Ferris
81325ebae7
Tidy GHA for windows
2023-05-27 23:40:26 +01:00
Patrick Ferris
9793ae03f7
Vendor cstruct stubs and remove pins
2023-05-27 23:34:06 +01:00
Patrick Ferris
bce6a871b8
Pin ocamlbuild
2023-05-27 23:33:51 +01:00
Patrick Ferris
92c16d9405
Add dscheck to windows test CI deps
2023-05-27 15:45:56 +01:00
Patrick Ferris
bc8bd22f39
Allow windows users to run dune build
2023-05-27 15:01:49 +01:00
Thomas Leonard
0b18c3c060
Merge pull request #524 from talex5/linux-fork
...
eio_linux: fallback to fork if clone3 is unavailable
2023-05-26 16:46:54 +01:00
Thomas Leonard
3d96450533
eio_linux: fallback to fork if clone3 is unavailable
...
`clone3` is blocked by Docker's default security policy.
Also, use `(uintptr_t)` when storing a pointer in a `uint64_t` field,
otherwise it doesn't work on 32-bit systems.
2023-05-25 12:04:08 +01:00
Thomas Leonard
1cd01b5218
Merge pull request #526 from talex5/fix-5.1-tests
...
Fix MDX tests on OCaml 5.1
2023-05-25 11:51:19 +01:00
Thomas Leonard
188dc9ae6d
Fix MDX tests on OCaml 5.1
...
Using `Fmt.unit` causes blank lines to appear in the output!
See: https://github.com/realworldocaml/mdx/issues/429
2023-05-25 11:16:31 +01:00
Thomas Leonard
addef140c3
Merge pull request #523 from talex5/windows-stdenv
...
eio_windows: use Eio_unix.Stdenv.base type
2023-05-24 12:30:42 +01:00
Thomas Leonard
f959c72504
eio_windows: use Eio_unix.Stdenv.base type
...
Otherwise, it can't be used with `Eio_main.run`.
Also, get CI to test an example using `Eio_main`.
2023-05-24 11:49:44 +01:00
Thomas Leonard
a407535606
Merge pull request #516 from talex5/unix-net
...
Add Eio_unix.Net module
2023-05-23 10:44:27 +01:00
Thomas Leonard
41c3a2baa4
Add Eio_unix.Net and fix stream/datagram confusion
...
- Add `Eio_unix.Net` module and move network-related items from
`Eio_unix` to there.
- Replace `Eio_unix.socketpair` with
`Eio_unix.Net.socketpair_{stream,datagram}`. Previously, it took a
type argument (stream or datagram), but always returned a `stream_socket`.
- Add `Eio_unix.Net.import_socket_datagram`.
- Move sockaddr conversions to `eio.unix` so they can be shared.
- Implement `getnameinfo` in `eio.unix` to share it by default.
- `Eio_linux.Low_level.send_msg` no longer throws away the number of
bytes sent.
- Add `close` to all socket types.
- The destination in `send` is now optional.
- `send` now takes a iovec, not just a single buffer.
The stream API allows this and we tested it for datagrams using
that API due to the previous type confusion.
- Allow `Unix` socket paths as datagram addresses too.
- Add `send_msg` and `recv_msg` stubs to Eio_posix.
This avoids converting to bytes, and will be useful to add FD passing
later.
2023-05-22 20:14:25 +01:00
Thomas Leonard
21c6a54200
Merge pull request #520 from talex5/cancel-not-error
...
Don't call `accept_fork`'s error handler on cancellation
2023-05-18 14:25:39 +01:00
Thomas Leonard
7c984b7f0a
Don't call accept_fork
's error handler on cancellation
...
This typically happens when the server is shutting down and wants to
stop all connection handlers. There is no need to have each connection
fiber log this; they just need to stop.
2023-05-18 10:11:02 +01:00
Thomas Leonard
c1e3acabe1
Merge pull request #519 from talex5/stress-proc
...
Add stress test for spawning processes
2023-05-18 10:09:21 +01:00
Thomas Leonard
d3068fedc9
Add stress test for spawning processes
2023-05-17 11:42:52 +01:00
Thomas Leonard
7e9c4c038b
Merge pull request #518 from talex5/fix-pp-status
...
Eio.Process.pp_status should be polymorphic
2023-05-16 15:07:08 +01:00
Thomas Leonard
55b71cb28a
Eio.Process.pp_status should be polymorphic
...
Otherwise, you can't print an exit status.
2023-05-16 13:20:39 +01:00
Sudha Parimala
42ea36b8ea
Merge pull request #515 from talex5/link-meeting
...
Link to developer meetings information
2023-05-12 16:50:34 +05:30
Thomas Leonard
1cf3f2c733
Link to developer meetings document
2023-05-12 11:28:31 +01:00
Thomas Leonard
950b1a881e
Merge pull request #511 from talex5/fix-build
...
Don't run Windows discover script on other platforms
2023-05-08 19:04:01 +01:00
Thomas Leonard
702299d956
Don't run Windows discover script on other platforms
...
Otherwise, `dune build` will try to run it.
2023-05-08 17:58:03 +01:00
Thomas Leonard
439e53862a
Merge pull request #497 from patricoferris/posix-windows
...
Posix-based windows implementation
2023-05-08 17:52:53 +01:00
Patrick Ferris
cab124d5e0
Don't allocate OCaml exceptions in Windows fork actions
2023-05-08 16:09:37 +01:00
Thomas Leonard
b5b5de777f
Merge pull request #508 from talex5/cleanup
...
Deprecation cleanups
2023-05-05 14:31:40 +01:00
Thomas Leonard
bc16038285
Fix Process link in README
...
Link to the mli, not the ml file.
2023-05-05 14:05:49 +01:00
Thomas Leonard
357a8f7169
Deprecate Fiber.fork_sub
...
Originally, you needed the parent switch to create the child one, but
that happens automatically now, so we don't need a special function for
this.
2023-05-05 14:05:49 +01:00
Patrick Ferris
393ec686e3
Add kcas
2023-05-05 13:04:11 +01:00
Patrick Ferris
9a9c02ba08
Support DLA on Windows
2023-05-05 12:44:42 +01:00