1234567891011121314151617181920212223242526272829303132333435363738moduletypeS=sigtypettype('a,'b)prim_token(** Called before the execution of a primitive. The S-expression is a representation of
the primitive call, for instance [(mkdir "foo")]. *)valbefore_prim:t->('a,'b)Prim.t->('a,'b)Prim.Args.t->('a,'b)prim_token(** Called after the execution of a primitive, with the result. *)valafter_prim:t->('a,'b)Prim.t->('b,exn*Printexc.raw_backtrace)result->('a,'b)prim_token->unit(** Register a user exception, i.e. when a [bind] raises. *)valuser_exn:t->exn->Printexc.raw_backtrace->unit(** Captured output *)valoutput:t->string->unit(** Called before forking. *)valfork:t->t*t(** Called in the same thread that started the fork. *)valend_fork:t->t->t->unit(** Shexp tries to linearize the trace as much as possible. When an execution parameter
is changed locally, such as in [(chdir ...) >>= ...], a sub context is entered. *)valenter_sub:t->unitvalleave_sub:t->unit(** Force the use of threads in all forks, even when [Shexp_process] detect they are not
necessary. *)valforce_threads:boolend