Comments (3)
We could also just enforce SA_RESTART
.
Not sure how you feel about eio calling sigaction
though.
from eio.
Reading signal(7), it seems hard to avoid EINTR in all cases. In particular, it seems that SIGCONT
can generate EINTR.
It's also a bit unclear to me what happens with signals and io_uring operations. I would expect that the io_uring_enter
call would return EINTR rather than the individual operations, so maybe the retry logic above isn't even needed. That code has been there since the very first commit by @avsm; I don't know if it was needed for something.
from eio.
As far as I know this is working correctly everywhere, so I'll close this. We can reopen if we find any remaining places we missed.
from eio.
Related Issues (20)
- Restore "available" metadata on eio_windows
- Keep writes within IOV_MAX HOT 1
- Compilation failure HOT 7
- api questions and some migration feedback HOT 7
- Full tracing support
- `_os_unfair_lock_corruption_abort` after fork on MacOS HOT 15
- `getsockname` missing? HOT 3
- Switches should be domain-safe
- Eio_unix: Allocation warning from sched.ml breaks cram tests HOT 2
- Unix.Unix_error(Unix.EPERM, "io_uring_queue_init", "") failures in Docker HOT 5
- Occasional deadlocks with systhreads
- Multiple message in TCP communication with flow HOT 3
- Explanation of "connect-in-progress" HOT 3
- Net.listen hangs if the port is already in use HOT 2
- Extending eio from the outside HOT 1
- Signal handlers may not run, especially with eio_linux
- Support: sockets as flows with compatible poly variants HOT 1
- Fails to build with musl-gcc w/ linux-lts headers (no `struct clone_args`) HOT 1
- Eio.Path.load causes "file descriptor used after calling close!" error HOT 7
- Path.split does not work with backslash-encoded paths. HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from eio.