criu

Pending Signals

In Linux, a signal is marked as pending if it has been delivered to a task but has not yet been handled (e.g., because the signal is blocked or the task is currently stopped). CRIU provides full support for capturing and restoring these pending signal queues, ensuring that the application’s signal state remains perfectly consistent across a checkpoint.

Checkpoint and Restore of Pending Signals

CRIU manages pending signals using specialized ptrace interfaces and signal injection system calls.

1. Checkpointing (Dumping)

During a dump, CRIU must extract both the list of pending signals and the detailed metadata associated with each one (the siginfo_t structure).

2. Restoration

To recreate the pending state, CRIU re-injects the captured signals into the newly created process tree before it begins normal execution.

Shared vs. Private Pending Signals

See also