From d05a245d120e8af6340c321eedb9c013cdb0edaf Mon Sep 17 00:00:00 2001 From: ygrek Date: Wed, 28 Jul 2010 11:18:47 +0300 Subject: [PATCH] update example --- examples/omulti.ml | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/examples/omulti.ml b/examples/omulti.ml index 3cc7ac5..e585f48 100644 --- a/examples/omulti.ml +++ b/examples/omulti.ml @@ -5,7 +5,7 @@ *) module M = Curl.Multi -module Ev = Liboevent +module Ev = Libevent let pr fmt = Printf.ksprintf print_endline fmt @@ -28,7 +28,7 @@ let events_base = Ev.init () let loop_async mt = pr "action/event"; let events = Hashtbl.create 32 in - let on_event fd flags = + let on_event _ev fd flags = let event = match flags with | Ev.READ -> M.EV_IN | Ev.WRITE -> M.EV_OUT @@ -38,7 +38,7 @@ let loop_async mt = finished mt in let evs = ref 0 in - M.set_socket_function mt begin fun h fd what -> + M.set_socket_function mt begin fun fd what -> List.iter (fun ev -> decr evs; Ev.del ev) (Hashtbl.find_all events fd); Hashtbl.remove events fd; let flags = match what with | M.POLL_REMOVE | M.POLL_NONE -> [] @@ -49,9 +49,8 @@ let loop_async mt = match flags with | [] -> finished mt | flags -> - let ev = Ev.create () in - Ev.set ev fd flags true on_event; - Ev.add events_base ev None; + let ev = Ev.create events_base fd flags ~persist:true on_event in + Ev.add ev None; incr evs; Hashtbl.add events fd ev end; @@ -68,7 +67,7 @@ let loop_select mt = let _ = M.action mt fd event in finished mt in - M.set_socket_function mt begin fun h fd what -> + M.set_socket_function mt begin fun fd what -> in_fd := List.filter ((<>) fd) !in_fd; out_fd := List.filter ((<>) fd) !out_fd; match what with -- 2.11.4.GIT