From d10ca882444e05041734687669fbb1f5443e0c56 Mon Sep 17 00:00:00 2001 From: Romain Beauxis Date: Sun, 4 Feb 2024 12:52:29 -0600 Subject: [PATCH] Always check for ready. --- src/cry.ml | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/src/cry.ml b/src/cry.ml index 98bb5bc..749b1fa 100644 --- a/src/cry.ml +++ b/src/cry.ml @@ -35,17 +35,12 @@ let poll r w timeout = let poll = Poll.create () in List.iter (fun fd -> Poll.set poll fd Poll.Event.read) r; List.iter (fun fd -> Poll.set poll fd Poll.Event.write) w; - match Poll.wait poll timeout with - | `Ok -> - let r = ref [] in - let w = ref [] in - Poll.iter_ready poll ~f:(fun fd -> function - | { Poll.Event.readable = true; _ } -> r := fd :: !r - | _ -> w := fd :: !w); - let r = !r in - let w = !w in - (r, w) - | `Timeout -> ([], []) + ignore (Poll.wait poll timeout); + let r = ref [] in + let w = ref [] in + Poll.iter_ready poll ~f:(fun fd -> function + | { Poll.Event.readable = true; _ } -> r := fd :: !r | _ -> w := fd :: !w); + (!r, !w) type error = | Create of exn