From 651cdf9ccb0b787331f54a0c7544612fb3bdb1ef Mon Sep 17 00:00:00 2001 From: Ophestra Date: Fri, 31 Oct 2025 22:58:26 +0900 Subject: [PATCH] internal/outcome: remove guard on main This is no longer exported. Such a check is pointless. Signed-off-by: Ophestra --- internal/outcome/finalise.go | 6 +----- internal/outcome/process.go | 4 ---- 2 files changed, 1 insertion(+), 9 deletions(-) diff --git a/internal/outcome/finalise.go b/internal/outcome/finalise.go index 184bd90..3e6a9e3 100644 --- a/internal/outcome/finalise.go +++ b/internal/outcome/finalise.go @@ -6,7 +6,6 @@ import ( "fmt" "os" "os/user" - "sync/atomic" "hakurei.app/hst" "hakurei.app/message" @@ -26,12 +25,9 @@ type outcome struct { sys *system.I // Transmitted to shim. Populated during finalise. state *outcomeState - // Kept for saving to [state]. + // Retained for registering current instance. config *hst.Config - // Whether the current process is in outcome.main. - active atomic.Bool - ctx context.Context syscallDispatcher } diff --git a/internal/outcome/process.go b/internal/outcome/process.go index 64d8362..707359d 100644 --- a/internal/outcome/process.go +++ b/internal/outcome/process.go @@ -206,10 +206,6 @@ func (ms mainState) fatal(fallback string, ferr error) { // main carries out outcome and terminates. main does not return. func (k *outcome) main(msg message.Msg) { - if !k.active.CompareAndSwap(false, true) { - panic("outcome: attempted to run twice") - } - if k.ctx == nil || k.sys == nil || k.state == nil { panic("outcome: did not finalise") }