Signal Delivery Time Calculator
Estimate signal delivery latency to a target process under varying system load.
About Signal Delivery Time Calculator
Standard (non-realtime) POSIX signals are not queued per-instance — multiple pending deliveries of the same signal collapse into one — but realtime signals (SIGRTMIN..SIGRTMAX) delivered via sigqueue(2) do queue, and a backlog of pending signals must each be dequeued and dispatched to a handler before the process resumes normal execution. This calculator models the cumulative delivery latency as queue depth multiplied by per-signal processing time, giving a rough worst-case bound for how long a process might spend just working through a signal backlog.
Formula
Signal delivery time
delivery_time_us = signal_queue_depth × processing_time_per_signal
- Q_{depth}
- pending signal queue depth
- t_{signal}
- processing time per signal (µs)
Worked example
With the default values below, Signal Delivery Time Calculator returns Estimated Delivery Time (µs) of 40.00. Change any input above and every figure here is recalculated in your browser.
Inputs used
- Signal Queue Depth (pending signals)minimum 0
- 8
- Processing Time per Signal (µs)minimum 0.1
- 5
- Signal Handler Overhead (µs)minimum 0
- 2
Results
- Estimated Delivery Time (µs)
- 40.00
- Estimated Delivery Time (ms)
- 0.0400
- Total Incl. Handler Overhead (µs)
- 56.00
- Worst-Case Delay for Last Queued Signal (µs)
- 56.00
Step by step
- 1Values used
- 2Signal delivery time
- 3Estimated Delivery Time (µs)= 40.00
- 4Estimated Delivery Time (ms)= 0.0400
- 5Total Incl. Handler Overhead (µs)= 56.00
- 6Worst-Case Delay for Last Queued Signal (µs)= 56.00
Assumptions and limits
- The result is derived only from the 3 inputs listed above. Anything not among them is not part of the calculation.
- In particular, this calculator does not take inflation, tax, fees or charges or compounding frequency into account.
- Figures are rounded for display to 4 decimal places, so totals built from several rounded parts can differ slightly from the unrounded arithmetic.
How these calculators are built and tested is described on the Methodology page. If a figure looks wrong, please report it.
Frequently Asked Questions
Do regular signals like SIGTERM actually queue like this?
No — standard signals are binary pending flags; sending the same standard signal multiple times before delivery has no cumulative effect. Only realtime signals (SIGRTMIN through SIGRTMAX) queue multiple pending instances, which is what this calculator's queue-depth model best represents.
How can I inspect pending signals for a process?
`cat /proc/PID/status` shows `SigPnd` (thread-pending) and `ShdPnd` (process-wide pending) as hexadecimal bitmasks where each bit corresponds to a signal number.
What makes per-signal processing time vary?
Signal handler complexity, whether the handler must acquire locks, context-switch overhead if delivery requires waking a sleeping thread, and kernel signal-delivery path overhead (e.g. ptrace interception) all add to the effective per-signal cost beyond the bare minimum kernel dispatch time.
