Messages in this thread | | | Date | Wed, 13 Feb 2013 17:06:11 +0100 | From | Oleg Nesterov <> | Subject | Re: [PATCH] ptrace: add ability to retrieve signals without removing them from a queue |
| |
On 02/13, Andrey Vagin wrote: > > This patch adds a new ptrace request PTRACE_PEEKSIGINFO. > > This request is used to retrieve information about a signal with the > specified sequence number. A siginfo_t structure is copied from the child > to location data in the parent. > > The low 16 bits of addr contains a sequence number of signal in a queue. > All other bits of addr is used for flags. Currently here is only one > flag PTRACE_PEEK_SHARED for dumping signals from process-wide shared > queue. If this flag is not set, a signal is read from a per-thread > queue. A result siginfo contains a kernel part of si_code which usually > striped, but it's required for queuing the same siginfo back during > restore of pending signals. > > If a signal with the specified sequence number doesn't exist, ptrace > returns ENOENT. > > This functionality is required for checkpointing pending signals.
I thinks the patch is correct, and personally I like very much the fact it is simple. Compared to misc signalfd hacks we discussed before.
Oleg.
| |