mirror of
https://github.com/containers/podman.git
synced 2025-06-24 03:08:13 +08:00
Merge pull request #11240 from vrothberg/art
make sure that signal buffers are sufficiently big
This commit is contained in:
@ -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() {
|
||||
|
Reference in New Issue
Block a user