fix(fut): fix bug when calling wait_list []

This commit is contained in:
Simon Cruanes 2023-06-15 11:58:55 -04:00
parent e43c762c96
commit 446d6635a0
No known key found for this signature in database
GPG key ID: EBFFF6F283F3A2B4

View file

@ -232,8 +232,14 @@ let peek_ok_assert_ (self : 'a t) : 'a =
| _ -> assert false
let join_container_ ~iter ~map ~len cont : _ t =
let n_items = len cont in
if n_items = 0 then (
(* no items, return now. *)
let cont_empty = map (fun _ -> assert false) cont in
return cont_empty
) else (
let fut, promise = make () in
let missing = A.make (len cont) in
let missing = A.make n_items in
(* callback called when a future in [a] is resolved *)
let on_res = function
@ -255,6 +261,7 @@ let join_container_ ~iter ~map ~len cont : _ t =
iter (fun fut -> on_result fut on_res) cont;
fut
)
let join_array (a : _ t array) : _ array t =
match Array.length a with