tur/scheduler

stdlib/scheduler.tur
defn

scheduler-new

(scheduler-new :ptr<void>)

create a new cooperative fiber scheduler.

Since: Phase T21

defn

scheduler-current

(scheduler-current :ptr<void>)

return the current global scheduler pointer.

Since: Phase T21

defn

scheduler-spawn

(scheduler-spawn [sched :ptr<void> f :ptr<void>] :nil)

add a fiber to the scheduler's ready queue.

schedscheduler pointer returned by scheduler-new
ffiber pointer to enqueue

Since: Phase T21

defn

scheduler-run

(scheduler-run [sched :ptr<void>] :nil)

run the scheduler event loop until the ready queue is empty.

schedscheduler pointer returned by scheduler-new

Since: Phase T21

defn

scheduler-run-to-completion

(scheduler-run-to-completion [sched :ptr<void>] :nil)

run the scheduler until all spawned fibers have finished.

schedscheduler pointer returned by scheduler-new

Since: Phase T21

defn

scheduler-timeout

(scheduler-timeout [ms :int cb :ptr<void> arg :ptr<void>] :nil)

schedule a callback to be called after a delay in milliseconds.

msdelay in milliseconds before invoking the callback
cbfunction pointer to invoke; receives arg as its sole argument
argopaque pointer passed through to the callback

Since: Phase T21