diff --git a/dune-project b/dune-project index 4b281e0..1d2322a 100644 --- a/dune-project +++ b/dune-project @@ -13,7 +13,7 @@ (description "An Lwt engine that allows running Lwt within an Eio event loop.") (depends (eio (>= 0.13)) - (lwt (>= 5.7.0)) + (lwt (>= 6.1.0)) (mdx (and (>= 1.10.0) :with-test)) (eio_main :with-test))) (using mdx 0.2) diff --git a/lib/lwt_eio.ml b/lib/lwt_eio.ml index b536b10..76aa187 100644 --- a/lib/lwt_eio.ml +++ b/lib/lwt_eio.ml @@ -123,9 +123,13 @@ let install_sigchld_handler = lazy ( ) ) +type Lwt_engine.engine_id += Engine_id__Eio_lwt + let make_engine ~sw ~clock = object inherit Lwt_engine.abstract + method id = Engine_id__Eio_lwt + method private cleanup = try Switch.fail sw Exit with Invalid_argument _ -> () (* Already destroyed *) diff --git a/lwt_eio.opam b/lwt_eio.opam index 369df90..a4983b0 100644 --- a/lwt_eio.opam +++ b/lwt_eio.opam @@ -12,7 +12,7 @@ bug-reports: "https://github.com/ocaml-multicore/lwt_eio/issues" depends: [ "dune" {>= "3.8"} "eio" {>= "0.13"} - "lwt" {>= "5.7.0"} + "lwt" {>= "6.1.0"} "mdx" {>= "1.10.0" & with-test} "eio_main" {with-test} "odoc" {with-doc} diff --git a/test/test.md b/test/test.md index 7a9272f..ac6774e 100644 --- a/test/test.md +++ b/test/test.md @@ -41,20 +41,20 @@ Lwt and Eio fibers don't block each other: );; +eio: i = 1 + lwt: i = 1 -+ lwt: i = 2 +eio: i = 2 -+ lwt: i = 3 ++ lwt: i = 2 +eio: i = 3 -+ lwt: i = 4 ++ lwt: i = 3 +eio: i = 4 -+ lwt: i = 5 ++ lwt: i = 4 +eio: i = 5 -+ lwt: i = 6 ++ lwt: i = 5 +eio: i = 6 -+ lwt: i = 7 ++ lwt: i = 6 +eio: i = 7 -+ lwt: i = 8 ++ lwt: i = 7 +eio: i = 8 ++ lwt: i = 8 - : unit = () ```