Commits

Anonymous committed 8a0c812

.

  • Participants
  • Parent commits 0388004

Comments (0)

Files changed (4)

       [ `Local f -> f v ]
     ;
 
-    value notimpl msg = failwith
+    value _notimpl msg = failwith
       (Printf.sprintf "function %S: not implemented" msg);
 
     (* "процесс" -- это функция, позволяющая послать процессу сообщение.
 
     (* синхронный вызов *)
     value (call : server 'i 'o -> 'i -> IO.m 'o) server arg =
-      let (source, sink) = IO.pipe () in
+      let (source, sink) = IO.pipe1 () in
       let dest = `Local (fun o -> IO.return (IO.put_sink sink o)) in
       send server (arg, dest) >>= fun () ->
       IO.wait_source source
 
     value (call_group
       : server_group 'i 'o -> 'i -> IO.m (list 'o)
-      ) _ _ = notimpl "call_group"
+      ) _ _ = _notimpl "call_group"
     ;
 
     (* ответы на сообщения будут производиться через передаваемый

File parvel_IO.ml

  and source +'a = Lwt.t 'a
 ;
 
-value pipe = Lwt.wait
+value pipe1 = Lwt.wait
   and put_sink = Lwt.wakeup
   and wait_source s = s
 ;
 
   Lwt_unix.sleep 8.0 >>= fun () ->
 *)
+  Lwt_unix.yield () >>= fun () ->
+  Lwt_unix.yield () >>= fun () ->
+  Lwt_unix.yield () >>= fun () ->
+  Lwt_unix.yield () >>= fun () ->
+
   IO.printf "io_main: awake\n" >>= fun () ->
   IO.printf "done\n%!"
 ;
     (* временно, будет меняться: *)
     type sink 'a  (* посмотреть на новые Lwt.u, должно быть -'a. *)
      and source +'a;
-    value pipe : unit -> (source 'a * sink 'a);
+    value pipe1 : unit -> (source 'a * sink 'a);
     value put_sink : sink 'a -> 'a -> unit;
     value wait_source : source 'a -> m 'a;
     (* . *)