• Andrey Vagin's avatar
    ptrace: add ability to get/set signal-blocked mask · 29000cae
    Andrey Vagin authored
    crtools uses a parasite code for dumping processes.  The parasite code is
    injected into a process with help PTRACE_SEIZE.
    
    Currently crtools blocks signals from a parasite code.  If a process has
    pending signals, crtools wait while a process handles these signals.
    
    This method is not suitable for stopped tasks.  A stopped task can have a
    few pending signals, when we will try to execute a parasite code, we will
    need to drop SIGSTOP, but all other signals must remain pending, because a
    state of processes must not be changed during checkpointing.
    
    This patch adds two ptrace commands to set/get signal-blocked mask.
    
    I think gdb can use this commands too.
    
    [akpm@linux-foundation.org: be consistent with brace layout]
    Signed-off-by: default avatarAndrey Vagin <avagin@openvz.org>
    Reviewed-by: default avatarOleg Nesterov <oleg@redhat.com>
    Cc: Roland McGrath <roland@redhat.com>
    Cc: Michael Kerrisk <mtk.manpages@gmail.com>
    Cc: Pavel Emelyanov <xemul@parallels.com>
    Cc: Cyrill Gorcunov <gorcunov@openvz.org>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    29000cae
ptrace.c 30.2 KB