mirror of
https://github.com/containers/podman.git
synced 2025-06-18 15:39:08 +08:00
Merge pull request #3452 from QazerLab/bugfix/pause-sigterm
Exclude SIGTERM from blocked signals for pause process.
This commit is contained in:
@ -82,7 +82,7 @@ do_pause ()
|
|||||||
struct sigaction act;
|
struct sigaction act;
|
||||||
int const sig[] =
|
int const sig[] =
|
||||||
{
|
{
|
||||||
SIGALRM, SIGHUP, SIGINT, SIGPIPE, SIGQUIT, SIGTERM, SIGPOLL,
|
SIGALRM, SIGHUP, SIGINT, SIGPIPE, SIGQUIT, SIGPOLL,
|
||||||
SIGPROF, SIGVTALRM, SIGXCPU, SIGXFSZ, 0
|
SIGPROF, SIGVTALRM, SIGXCPU, SIGXFSZ, 0
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -542,6 +542,11 @@ reexec_userns_join (int userns, int mountns, char *pause_pid_file_path)
|
|||||||
fprintf (stderr, "cannot sigdelset(SIGCHLD): %s\n", strerror (errno));
|
fprintf (stderr, "cannot sigdelset(SIGCHLD): %s\n", strerror (errno));
|
||||||
_exit (EXIT_FAILURE);
|
_exit (EXIT_FAILURE);
|
||||||
}
|
}
|
||||||
|
if (sigdelset (&sigset, SIGTERM) < 0)
|
||||||
|
{
|
||||||
|
fprintf (stderr, "cannot sigdelset(SIGTERM): %s\n", strerror (errno));
|
||||||
|
_exit (EXIT_FAILURE);
|
||||||
|
}
|
||||||
if (sigprocmask (SIG_BLOCK, &sigset, &oldsigset) < 0)
|
if (sigprocmask (SIG_BLOCK, &sigset, &oldsigset) < 0)
|
||||||
{
|
{
|
||||||
fprintf (stderr, "cannot block signals: %s\n", strerror (errno));
|
fprintf (stderr, "cannot block signals: %s\n", strerror (errno));
|
||||||
@ -736,6 +741,11 @@ reexec_in_user_namespace (int ready, char *pause_pid_file_path, char *file_to_re
|
|||||||
fprintf (stderr, "cannot sigdelset(SIGCHLD): %s\n", strerror (errno));
|
fprintf (stderr, "cannot sigdelset(SIGCHLD): %s\n", strerror (errno));
|
||||||
_exit (EXIT_FAILURE);
|
_exit (EXIT_FAILURE);
|
||||||
}
|
}
|
||||||
|
if (sigdelset (&sigset, SIGTERM) < 0)
|
||||||
|
{
|
||||||
|
fprintf (stderr, "cannot sigdelset(SIGTERM): %s\n", strerror (errno));
|
||||||
|
_exit (EXIT_FAILURE);
|
||||||
|
}
|
||||||
if (sigprocmask (SIG_BLOCK, &sigset, &oldsigset) < 0)
|
if (sigprocmask (SIG_BLOCK, &sigset, &oldsigset) < 0)
|
||||||
{
|
{
|
||||||
fprintf (stderr, "cannot block signals: %s\n", strerror (errno));
|
fprintf (stderr, "cannot block signals: %s\n", strerror (errno));
|
||||||
|
Reference in New Issue
Block a user