mirror of https://github.com/containers/podman.git
				
				
				
			Merge pull request #11240 from vrothberg/art
make sure that signal buffers are sufficiently big
This commit is contained in:
		
						commit
						de4d7b2f7c
					
				|  | @ -35,7 +35,7 @@ func Start() error { | |||
| 		return nil | ||||
| 	} | ||||
| 
 | ||||
| 	sigChan = make(chan os.Signal, 1) | ||||
| 	sigChan = make(chan os.Signal, 2) | ||||
| 	cancelChan = make(chan bool, 1) | ||||
| 	stopped = false | ||||
| 
 | ||||
|  |  | |||
|  | @ -12,13 +12,17 @@ import ( | |||
| 	"github.com/sirupsen/logrus" | ||||
| ) | ||||
| 
 | ||||
| // Make sure the signal buffer is sufficiently big.
 | ||||
| // runc is using the same value.
 | ||||
| const signalBufferSize = 2048 | ||||
| 
 | ||||
| // ProxySignals ...
 | ||||
| func ProxySignals(ctr *libpod.Container) { | ||||
| 	// Stop catching the shutdown signals (SIGINT, SIGTERM) - they're going
 | ||||
| 	// to the container now.
 | ||||
| 	shutdown.Stop() | ||||
| 
 | ||||
| 	sigBuffer := make(chan os.Signal, 128) | ||||
| 	sigBuffer := make(chan os.Signal, signalBufferSize) | ||||
| 	signal.CatchAll(sigBuffer) | ||||
| 
 | ||||
| 	logrus.Debugf("Enabling signal proxying") | ||||
|  |  | |||
|  | @ -397,8 +397,6 @@ func becomeRootInUserNS(pausePid, fileToRead string, fileOutput *os.File) (_ boo | |||
| 		return false, -1, errors.Wrapf(err, "error setting up the process") | ||||
| 	} | ||||
| 
 | ||||
| 	c := make(chan os.Signal, 1) | ||||
| 
 | ||||
| 	signals := []os.Signal{} | ||||
| 	for sig := 0; sig < numSig; sig++ { | ||||
| 		if sig == int(unix.SIGTSTP) { | ||||
|  | @ -407,6 +405,7 @@ func becomeRootInUserNS(pausePid, fileToRead string, fileOutput *os.File) (_ boo | |||
| 		signals = append(signals, unix.Signal(sig)) | ||||
| 	} | ||||
| 
 | ||||
| 	c := make(chan os.Signal, len(signals)) | ||||
| 	gosignal.Notify(c, signals...) | ||||
| 	defer gosignal.Reset() | ||||
| 	go func() { | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue