//go:build !scheduler.none // +build !scheduler.none package runtime import "internal/task" // Pause the current task for a given time. //go:linkname sleep time.Sleep func sleep(duration int64) { if duration <= 0 { return } addSleepTask(task.Current(), nanosecondsToTicks(duration)) task.Pause() } // run is called by the program entry point to execute the go program. // With a scheduler, init and the main function are invoked in a goroutine before starting the scheduler. func run() { initHeap() go func() { initAll() postinit() callMain() schedulerDone = true }() scheduler() } const hasScheduler = true