aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/outcome/outcome.go
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2026-10-14 18:23:45 +0900
committerOphestra <cat@gensokyo.uk>2026-10-14 18:23:45 +0900
commit2eb3b1129bf73f8e2a0b46683af3139498fa89fd (patch)
tree171efa80593efac951c775d7f451c92ddf26a12f /internal/outcome/outcome.go
parent72d7e6da4cba108f17749921755f4405eb1a5962 (diff)
hst: pass through adopt wait delay with bounds
This is a useful value to customise, primarily useful for test suites but can also generally improve exit latency for stubborn applications. Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'internal/outcome/outcome.go')
-rw-r--r--internal/outcome/outcome.go9
1 files changed, 9 insertions, 0 deletions
diff --git a/internal/outcome/outcome.go b/internal/outcome/outcome.go
index 414b421f..19ca9c7b 100644
--- a/internal/outcome/outcome.go
+++ b/internal/outcome/outcome.go
@@ -6,6 +6,7 @@ import (
"errors"
"maps"
"strconv"
+ "time"
"hakurei.app/check"
"hakurei.app/container"
@@ -125,6 +126,14 @@ func newOutcomeState(k syscallDispatcher, msg message.Msg, id *hst.ID, config *h
s.Shim.WaitDelay = s.Container.WaitDelay
}
+ if s.Container.AdoptWaitDelay > 5*time.Second {
+ s.Shim.AdoptWaitDelay = 5 * time.Second
+ } else if s.Container.AdoptWaitDelay < 0 {
+ s.Shim.AdoptWaitDelay = -1
+ } else {
+ s.Shim.AdoptWaitDelay = s.Container.AdoptWaitDelay
+ }
+
if s.Container.Flags&hst.FMapRealUID != 0 {
s.Mapuid, s.Mapgid = k.getuid(), k.getgid()
} else {