Internal

internal/platform/signal

Package signal coordinates process-wide interrupt cancellation and escalation.

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()