neondatabase / tokio-epoll-uring

Use io_uring from vanilla tokio.
36 stars 4 forks source link

avoid our `unsafe impl Send + Sync` by pushing it upstream #53

Open problame opened 2 months ago

problame commented 2 months ago

(This issue has been an internal draft since Apr 30 for no good readon)


tokio-epoll-uring currently has to do some unsafe impl Send + Sync:

https://github.com/neondatabase/tokio-epoll-uring/blob/d6a1c93442fb6b3a5bec490204961134e54925dc/tokio-epoll-uring/src/system/completion.rs#L26

https://github.com/neondatabase/tokio-epoll-uring/blob/d6a1c93442fb6b3a5bec490204961134e54925dc/tokio-epoll-uring/src/system/lifecycle.rs#L60-L64

https://github.com/neondatabase/tokio-epoll-uring/blob/91d67e20fe5224eb8b7b99c4e84543b033a43a65/tokio-epoll-uring/src/system/submission.rs#L171-L173

These are necessary because the underlying io_uring crate's Submitter, SubmissionQueue, and CompletionQueue struct are not impl Send + Sync, even though they could be.



Week starting May 6: pause one week, solicit feedback on Discord next week.

2024-05-28: reached out on Discord

problame commented 2 months ago

Unassigned myself and moved the issue into Backlog state in our internal GH Project. The reason is that there's no interest upstream.