diff --git a/src/lib_shell/worker.ml b/src/lib_shell/worker.ml index ff661f321..85f176565 100644 --- a/src/lib_shell/worker.ml +++ b/src/lib_shell/worker.ml @@ -196,7 +196,8 @@ module Make Lwt_dropbox.take message_box >>= fun m -> return (Some m) | Some timeout -> - Lwt_dropbox.take_with_timeout timeout message_box >>= fun m -> + Lwt_dropbox.take_with_timeout + (Lwt_unix.sleep timeout) message_box >>= fun m -> return m let trigger_shutdown w = diff --git a/src/lib_stdlib_lwt/lwt_dropbox.ml b/src/lib_stdlib_lwt/lwt_dropbox.ml index 562d097c0..2fcbad16f 100644 --- a/src/lib_stdlib_lwt/lwt_dropbox.ml +++ b/src/lib_stdlib_lwt/lwt_dropbox.ml @@ -88,6 +88,3 @@ let rec take_with_timeout timeout dropbox = take_with_timeout timeout dropbox else Lwt.return_none - -let take_with_timeout timeout dropbox = - take_with_timeout (Lwt_unix.sleep timeout) dropbox diff --git a/src/lib_stdlib_lwt/lwt_dropbox.mli b/src/lib_stdlib_lwt/lwt_dropbox.mli index f0219e0ee..14636365c 100644 --- a/src/lib_stdlib_lwt/lwt_dropbox.mli +++ b/src/lib_stdlib_lwt/lwt_dropbox.mli @@ -26,7 +26,7 @@ val take: 'a t -> 'a Lwt.t The elements is removed from the dropbox. The function might return [Closed] if the dropbox is empty and closed. *) -val take_with_timeout: float -> 'a t -> 'a option Lwt.t +val take_with_timeout: unit Lwt.t -> 'a t -> 'a option Lwt.t (** Like [take] except that it returns [None] after [timeout seconds] if the dropbox is still empty. *)