module Worker_process:sig
..end
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.Std.Socket.Address.Inet.t)
Async.Std.Socket.t ->
Core.Std.never_returns