Module Ecaml__.Background
val don't_wait_for : Core_kernel.Source_code_position.t -> (unit -> unit Async.Deferred.t) -> unitdon't_wait_for here fis likeAsync.don't_wait_for, except that it marks all jobs created by runningfas background jobs.
val schedule_foreground_block_on_async : Core_kernel.Source_code_position.t -> (unit -> unit Async.Deferred.t) -> unitFrom 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.tis resolved.
module Clock : sig ... endval assert_foreground : ?message:Async.Sexp.t -> Core_kernel.Source_code_position.t -> unitIf this is called in a background Async job, raise an exception.
val currently_running_in_background : unit -> Core_kernel.Source_code_position.t optionReturn
Some locationwhen the current Async job is a background job.locationis theSource_code_position.tdescribing where the job was originally tagged as running in the background.
module Private : sig ... end