diff --git a/Dockerfile b/Dockerfile index a7e5e93f0..6e7f5e508 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,8 +1,8 @@ -FROM ocaml/opam:debian-11-ocaml-5.1 +FROM ocaml/opam:debian-11-ocaml-5.2 # Make sure we're using opam-2.1: RUN sudo ln -sf /usr/bin/opam-2.1 /usr/bin/opam # Ensure opam-repository is up-to-date: -RUN cd opam-repository && git pull -q origin 0ac3fc79fd11ee365dd46119d43e9763cf57da52 && opam update +RUN cd opam-repository && git pull -q origin 97de3378749cf8d2d70a5d710d310e5cc17c9dea && opam update # Install utop for interactive use: RUN opam install utop fmt # Install Eio's dependencies (adding just the opam files first to help with caching): diff --git a/dune-project b/dune-project index 4d295cc44..0a291c02e 100644 --- a/dune-project +++ b/dune-project @@ -38,7 +38,7 @@ (logs (and (>= 0.7.0) :with-test)) (fmt (>= 0.8.9)) (cmdliner (and (>= 1.1.0) :with-test)) - (uring (>= 0.7)))) + (uring (>= 0.9)))) (package (name eio_posix) (allow_empty) ; Work-around for dune bug #6938 diff --git a/eio_linux.opam b/eio_linux.opam index 05b4f4f71..c4ab67004 100644 --- a/eio_linux.opam +++ b/eio_linux.opam @@ -16,7 +16,7 @@ depends: [ "logs" {>= "0.7.0" & with-test} "fmt" {>= "0.8.9"} "cmdliner" {>= "1.1.0" & with-test} - "uring" {>= "0.7"} + "uring" {>= "0.9"} "odoc" {with-doc} ] build: [ diff --git a/lib_eio_linux/sched.ml b/lib_eio_linux/sched.ml index bc4dd8991..723a9faa1 100644 --- a/lib_eio_linux/sched.ml +++ b/lib_eio_linux/sched.ml @@ -113,7 +113,10 @@ let enter op fn = Effect.perform (Enter fn) let submit uring = - Trace.with_span "submit" (fun () -> Uring.submit uring) + if Uring.sqe_ready uring > 0 then + Trace.with_span "submit" (fun () -> Uring.submit uring) + else + 0 let rec enqueue_job t fn = match fn () with