Skip to content

WIP: Transition to Eio #12

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

Draft
wants to merge 6 commits into
base: master
Choose a base branch
from
Draft

WIP: Transition to Eio #12

wants to merge 6 commits into from

Conversation

Julow
Copy link
Contributor

@Julow Julow commented Jul 1, 2025

On top of #9 #10 #11
Depends on ocsigenserver with this patch: ocsigen/ocsigenserver#269

TODO:

  • Transition ocsipersist to eio
  • Transition ocsipersist-lib to eio
  • Transition ocsipersist-sqlite to eio
  • Transition ocsipersist-dbm to eio
  • Transition ocsipersist-pgsql to eio

The first commit "Automatic changes done with lwt-to-direct-style" contains the change done automatically with https://github.com/Julow/lwt-to-direct-style/
The second commit, "Manual changes", contains all the manual changes that I had to do to transition the codebase to Eio. It's all squashed into one commit to make rebasing easier. Will be broken down into several commits when the work is done.

Julow added 6 commits June 24, 2025 15:08
This done automatically thanks to https://github.com/Julow/lwt-to-direct-style
The `lwt.unix` dependency is added because it previously was a transitive
dependency through lwt_log.
`ignore x` and `let _ = x` create an implicit fork if `x` is an `Lwt.t`
value. This annotate all "ignored" values and change two implicit forks
into explicit calls `Lwt.async`.
This creates a testsuite by writing the first test. The test makes sure
that the `Ref.get` and `Ref.set` functions work with the sqlite backend.
Update Dune and Opam files.
Ref: Use a lazy instead of a promise.
Thread.yield -> Fiber.yield.
Add `current_switch` fiber key.
Tweaks.
Query 'env' from Ocsigen_lib.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant