Module Ecaml__.Background
val don't_wait_for : Core_kernel.Source_code_position.t -> (unit -> unit Async.Deferred.t) -> unit
don't_wait_for here f
is likeAsync.don't_wait_for
, except that it marks all jobs created by runningf
as background jobs.
val schedule_foreground_block_on_async : Core_kernel.Source_code_position.t -> (unit -> unit Async.Deferred.t) -> unit
From a background job, become a foreground job. We implement this by waiting until no other foreground jobs are running, then blocking emacs until the
Deferred.t
is resolved.
module Clock : sig ... end
val assert_foreground : ?message:Async.Sexp.t -> Core_kernel.Source_code_position.t -> unit
If this is called in a background Async job, raise an exception.
val currently_running_in_background : unit -> Core_kernel.Source_code_position.t option
Return
Some location
when the current Async job is a background job.location
is theSource_code_position.t
describing where the job was originally tagged as running in the background.
module Private : sig ... end