mirror of https://github.com/containers/podman.git
				
				
				
			Merge pull request #3452 from QazerLab/bugfix/pause-sigterm
Exclude SIGTERM from blocked signals for pause process.
This commit is contained in:
		
						commit
						48904026ea
					
				|  | @ -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)); | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue