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") }