add some Lwt.pause during Disk.check to allow the web server to process requests #26

Merged
reynir merged 1 commit from add-pause-during-check into main 2024-11-21 11:31:05 +00:00
Showing only changes of commit c57b070d87 - Show all commits

View file

@ -537,10 +537,17 @@ module Make
| Some f -> | Some f ->
read_chunked t `SHA256 path read_chunked t `SHA256 path
(fun (sha256, md5, sha512) data -> (fun (sha256, md5, sha512) data ->
Lwt.return let sha256 = SHA256.feed_string sha256 data in
(SHA256.feed_string sha256 data, Lwt.pause () >>= fun () ->
Option.map (fun t -> MD5.feed_string t data) md5, let md5 =
Option.map (fun t -> SHA512.feed_string t data) sha512)) Option.map (fun t -> MD5.feed_string t data) md5
in
Lwt.pause () >>= fun () ->
let sha512 =
Option.map (fun t -> SHA512.feed_string t data) sha512
in
Lwt.pause () >|= fun () ->
sha256, md5, sha512)
(SHA256.empty, (SHA256.empty,
Option.map (fun _ -> MD5.empty) md5_final, Option.map (fun _ -> MD5.empty) md5_final,
Option.map (fun _ -> SHA512.empty) sha512_final) >>= function Option.map (fun _ -> SHA512.empty) sha512_final) >>= function