Lib.ProcessSourcetype exit_reason = Core.Process.exit_reason = | Normal| Exit_signal| Bad_link| Link_down of Core.Pid.t| Exception of exnmodule Messages = Core.Process.Messagestype state = Core.Process.state = | Runnable| Waiting_message| Waiting_io of {syscall : string;mode : [ `r | `rw | `w ];fd : Util.Fd.t;}| Running| Exited of exit_reason| Finalizedval default_flags : unit -> process_flagstype t = Core.Process.t = {pid : Core.Pid.t;sid : Core.Scheduler_uid.t;flags : process_flags;state : state Atomic.t;mutable cont : exit_reason Core.Proc_state.t;mailbox : Core.Mailbox.t;save_queue : Core.Mailbox.t;mutable read_save_queue : bool;links : Core.Pid.t list Atomic.t;monitors : Core.Pid.t list Atomic.t;}exception Process_reviving_is_forbidden of tval make : Core.Scheduler_uid.t -> (unit -> exit_reason) -> tval pp : Format.formatter -> t -> unitval pp_state : Format.formatter -> state -> unitval pp_reason : Format.formatter -> exit_reason -> unitval pp_flags : Format.formatter -> process_flags -> unitval cont : t -> exit_reason Core.Proc_state.tval pid : t -> Core.Pid.tval sid : t -> Core.Scheduler_uid.tval monitors : t -> Core.Pid.t listval links : t -> Core.Pid.t listval is_alive : t -> boolval is_exited : t -> boolval is_waiting : t -> boolval is_waiting_io : t -> boolval is_runnable : t -> boolval is_running : t -> boolval is_finalized : t -> boolval has_empty_mailbox : t -> boolval has_messages : t -> boolval message_count : t -> intval should_awake : t -> boolval mark_as_awaiting_message : t -> unitval mark_as_running : t -> unitval mark_as_runnable : t -> unitval mark_as_exited : t -> exit_reason -> unitval mark_as_finalized : t -> unitval set_flag : t -> process_flag -> unitval set_cont : t -> exit_reason Core.Proc_state.t -> unitval add_link : t -> Core.Pid.t -> unitval add_monitor : t -> Core.Pid.t -> unitval next_message : t -> Core.Message.envelope optionval add_to_save_queue : t -> Core.Message.envelope -> unitval read_save_queue : t -> unitval send_message : t -> Core.Message.t -> unit