[CRIU] [PATCH] criu: restore blocked signals correctly
Pavel Emelyanov
xemul at parallels.com
Mon Oct 12 00:49:32 PDT 2015
On 10/09/2015 10:47 PM, Andrey Vagin wrote:
> From: Andrew Vagin <avagin at openvz.org>
>
> We need to use SIG_SETMASK instead of SIG_BLOCK.
Why?
> SIG_SETMASK
> The set of blocked signals is set to the argument set.
>
> Signed-off-by: Andrew Vagin <avagin at openvz.org>
> ---
> namespaces.c | 2 +-
> sysctl.c | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/namespaces.c b/namespaces.c
> index 7d0690c..4233c59 100644
> --- a/namespaces.c
> +++ b/namespaces.c
> @@ -1201,7 +1201,7 @@ int stop_usernsd(void)
> ret = -1;
>
> usernsd_pid = 0;
> - sigprocmask(SIG_BLOCK, &oldmask, NULL);
> + sigprocmask(SIG_SETMASK, &oldmask, NULL);
>
> if (ret != 0)
> pr_err("UNS: daemon exited abnormally\n");
> diff --git a/sysctl.c b/sysctl.c
> index 7dd08ba..489c599 100644
> --- a/sysctl.c
> +++ b/sysctl.c
> @@ -314,7 +314,7 @@ static int __userns_sysctl_op(void *arg, int proc_fd, pid_t pid)
> kill(worker, SIGKILL);
> goto out;
> }
> - sigprocmask(SIG_BLOCK, &oldmask, NULL);
> + sigprocmask(SIG_SETMASK, &oldmask, NULL);
>
> if (!WIFEXITED(status) || WEXITSTATUS(status)) {
> pr_err("worker failed: %d\n", status);
>
More information about the CRIU
mailing list