internal/platform/signal
import "github.com/nilstate/scafld/v2/internal/platform/signal"
Package signal coordinates process-wide interrupt cancellation and escalation.
Functions
func RootContext(parent context.Context) (context.Context, *Handler)
Source: internal/platform/signal/signal.go:24
RootContext returns a cancellable root context controlled by OS interrupts.
func RootContextWithOptions(parent context.Context, opts Options) (context.Context, *Handler)
Source: internal/platform/signal/signal.go:29
RootContextWithOptions returns an interrupt-controlled root context.
Types
type Handler
Source: internal/platform/signal/signal.go:12
Handler tracks interrupt state and stops signal handling.
type Handler struct {
Interrupts atomic.Int32
// contains filtered or unexported fields
}Fields
Interrupts atomic.Int32
func Escalated() bool
Source: internal/platform/signal/signal.go:71
Escalated reports whether a second interrupt requested escalation.
func Stop()
Source: internal/platform/signal/signal.go:62
Stop unregisters signal handling and cancels the root context.
type Options
Source: internal/platform/signal/signal.go:19
Options configures interrupt escalation behavior.
type Options struct {
Escalate func()
}Fields
Escalate func()
