Advertisement
Guest User

Untitled

a guest
Dec 19th, 2016
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
OCaml 1.10 KB | None | 0 0
  1. let rec accept_connection sock =
  2.   let socket_thread = Lwt_unix.accept sock  in
  3.   Lwt.bind socket_thread
  4.            ( fun (fd, caller) ->
  5.                ignore(Lwt_io.printf "accepted\n%!");
  6.                 (* works *)
  7.                 (*
  8.                 ignore (readall fd >>= (fun a ->
  9.                    ignore(Lwt_io.printf "readall result\n%!");
  10.                    ignore(Lwt_io.printf "%s\n%!" a);
  11.                    Lwt_unix.close fd ;));
  12.                 *)
  13.                 (* works *)
  14.                 (* Warning 10: this expression should have type unit. *)
  15.                 (*
  16.                 Lwt.bind (readall fd)
  17.                    (fun a ->
  18.                    ignore(Lwt_io.printf "readall result\n%!");
  19.                    ignore(Lwt_io.printf "%s\n%!" a);
  20.                    Lwt.return(Lwt_unix.close fd );) ;
  21.                 *)
  22.                 (* does not work : *)
  23.                 (*
  24.                 readall fd >>= fun a -> Lwt_io.printf "readall result\n %s\n%!" a >>= fun () -> Lwt_unix.close fd  >>= fun () ->
  25.                 *)
  26.                accept_connection sock;
  27.  
  28.            );;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement