package async_parallel

  1. Overview
  2. Docs

This interface is not intended to be used directly by users!

The master process forks a worker process for each task that Parallel is asked to do. After forking, in the worker process, the master calls Worker_process.run, which:

1. accepts a single connection from its control_socket. 2. reads a single marshaled To_worker.Run f message over the connection. 3. creates a hub with control_socket and supplies it to f. 4. when f returns, writes a single From_worker message with the result over the control_socket connection. 5. exits.

module To_worker : sig ... end
module From_worker : sig ... end
val run : control_socket:([ `Passive ], Async.Socket.Address.Inet.t) Async.Socket.t -> Core.never_returns