aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/pkg/exec.go
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2026-04-03 16:48:43 +0900
committerOphestra <cat@gensokyo.uk>2026-04-03 16:49:34 +0900
commit591a60bac99b17ba0f345ee93057ea5a148837fd (patch)
tree866709899c4b879150a12483cff9bfe2d8f764cb /internal/pkg/exec.go
parent5093a06026b0f4abe6b16ccf5381a19caf594166 (diff)
internal/pkg: per-cache SCHED_IDLE
This is cleaner than setting it globally, and is impossible to race. Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'internal/pkg/exec.go')
-rw-r--r--internal/pkg/exec.go5
1 files changed, 1 insertions, 4 deletions
diff --git a/internal/pkg/exec.go b/internal/pkg/exec.go
index 6b6964fd..fcbf1245 100644
--- a/internal/pkg/exec.go
+++ b/internal/pkg/exec.go
@@ -40,9 +40,6 @@ type ExecPath struct {
W bool
}
-// SetSchedIdle is whether to set [ext.SCHED_IDLE] scheduling priority.
-var SetSchedIdle bool
-
// GetArtifactFunc is the function signature of [FContext.GetArtifact].
type GetArtifactFunc func(Artifact) (*check.Absolute, unique.Handle[Checksum])
@@ -427,7 +424,6 @@ func (a *execArtifact) makeContainer(
z.ParentPerm = 0700
z.HostNet = hostNet
z.Hostname = "cure"
- z.SetScheduler = SetSchedIdle
z.SchedPolicy = ext.SCHED_IDLE
if z.HostNet {
z.Hostname = "cure-net"
@@ -609,6 +605,7 @@ func (a *execArtifact) cure(f *FContext, hostNet bool) (err error) {
); err != nil {
return
}
+ z.SetScheduler = f.cache.flags&CSchedIdle != 0
var status io.Writer
if status, err = f.GetStatusWriter(); err != nil {