43 lines
1.4 KiB
Diff
43 lines
1.4 KiB
Diff
From 96b2c9ecfbd1ebaae8353c1131e6ed8a0c3de65b Mon Sep 17 00:00:00 2001
|
|
From: chenjiankun <chenjiankun1@huawei.com>
|
|
Date: Fri, 21 Jun 2024 16:39:55 +0800
|
|
Subject: [PATCH] docker: Ignore SIGURG on Linux
|
|
|
|
In go1.14+, SIGURG is used by the runtime to handle preemtable system
|
|
calls.
|
|
In practice this signal caught *frequently*.
|
|
|
|
For reference:
|
|
|
|
https://go.googlesource.com/proposal/+/master/design/24543-non-cooperative-preemption.md
|
|
golang/go#37942
|
|
https://github.com/docker/cli/commit/fff164c22e8dc904291fecb62307312fd4ca153e
|
|
---
|
|
components/cli/cli/command/container/tty.go | 3 ++-
|
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/components/cli/cli/command/container/tty.go b/components/cli/cli/command/container/tty.go
|
|
index cb49ded8e..5a914b109 100644
|
|
--- a/components/cli/cli/command/container/tty.go
|
|
+++ b/components/cli/cli/command/container/tty.go
|
|
@@ -13,6 +13,7 @@ import (
|
|
"github.com/docker/docker/client"
|
|
"github.com/docker/docker/pkg/signal"
|
|
"github.com/sirupsen/logrus"
|
|
+ "golang.org/x/sys/unix"
|
|
)
|
|
|
|
// resizeTtyTo resizes tty to specific height and width
|
|
@@ -79,7 +80,7 @@ func ForwardAllSignals(ctx context.Context, cli command.Cli, cid string) chan os
|
|
signal.CatchAll(sigc)
|
|
go func() {
|
|
for s := range sigc {
|
|
- if s == signal.SIGCHLD || s == signal.SIGPIPE {
|
|
+ if s == signal.SIGCHLD || s == signal.SIGPIPE || s == unix.SIGURG {
|
|
continue
|
|
}
|
|
var sig string
|
|
--
|
|
2.33.0
|
|
|