# internal/platform/signal

Package signal coordinates process-wide interrupt cancellation and escalation.

## RootContext

```go
func RootContext(parent context.Context) (context.Context, *Handler)
```

RootContext returns a cancellable root context controlled by OS interrupts.

## RootContextWithOptions

```go
func RootContextWithOptions(parent context.Context, opts Options) (context.Context, *Handler)
```

RootContextWithOptions returns an interrupt-controlled root context.

## Handler

```go
type Handler struct {
	Interrupts atomic.Int32
	// contains filtered or unexported fields
}
```

Handler tracks interrupt state and stops signal handling.

- `Interrupts: atomic.Int32`: 

## Escalated

```go
func (h *Handler) Escalated() bool
```

Escalated reports whether a second interrupt requested escalation.

## Stop

```go
func (h *Handler) Stop()
```

Stop unregisters signal handling and cancels the root context.

## Options

```go
type Options struct {
	Escalate func()
}
```

Options configures interrupt escalation behavior.

- `Escalate: func()`:
