Skip to content

Commit caf9e25

Browse files
authored
Merge pull request #5693 from kzys/sigrtmin
Support SIGRTMIN+n signals
2 parents 742ffad + 1d3d080 commit caf9e25

128 files changed

Lines changed: 4052 additions & 12240 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

cmd/ctr/commands/tasks/kill.go

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ package tasks
1919
import (
2020
"github.com/containerd/containerd"
2121
"github.com/containerd/containerd/cmd/ctr/commands"
22+
"github.com/moby/sys/signal"
2223
"github.com/pkg/errors"
2324
"github.com/urfave/cli"
2425
)
@@ -49,7 +50,7 @@ var killCommand = cli.Command{
4950
if id == "" {
5051
return errors.New("container id must be provided")
5152
}
52-
signal, err := containerd.ParseSignal(defaultSignal)
53+
sig, err := signal.ParseSignal(defaultSignal)
5354
if err != nil {
5455
return err
5556
}
@@ -77,12 +78,12 @@ var killCommand = cli.Command{
7778
return err
7879
}
7980
if context.String("signal") != "" {
80-
signal, err = containerd.ParseSignal(context.String("signal"))
81+
sig, err = signal.ParseSignal(context.String("signal"))
8182
if err != nil {
8283
return err
8384
}
8485
} else {
85-
signal, err = containerd.GetStopSignal(ctx, container, signal)
86+
sig, err = containerd.GetStopSignal(ctx, container, sig)
8687
if err != nil {
8788
return err
8889
}
@@ -91,6 +92,6 @@ var killCommand = cli.Command{
9192
if err != nil {
9293
return err
9394
}
94-
return task.Kill(ctx, signal, opts...)
95+
return task.Kill(ctx, sig, opts...)
9596
},
9697
}

go.mod

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ require (
3838
github.com/klauspost/compress v1.11.13
3939
github.com/moby/locker v1.0.1
4040
github.com/moby/sys/mountinfo v0.4.1
41+
github.com/moby/sys/signal v0.5.1-0.20210723232958-8a51b5cc8879
4142
github.com/moby/sys/symlink v0.1.0
4243
github.com/opencontainers/go-digest v1.0.0
4344
github.com/opencontainers/image-spec v1.0.1
@@ -56,7 +57,7 @@ require (
5657
go.etcd.io/bbolt v1.3.5
5758
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110
5859
golang.org/x/sync v0.0.0-20201207232520-09787c993a3a
59-
golang.org/x/sys v0.0.0-20210426230700-d19ff857e887
60+
golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c
6061
google.golang.org/grpc v1.38.0
6162
google.golang.org/protobuf v1.26.0
6263
gotest.tools/v3 v3.0.3

go.sum

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -338,6 +338,8 @@ github.com/moby/locker v1.0.1 h1:fOXqR41zeveg4fFODix+1Ch4mj/gT0NE1XJbp/epuBg=
338338
github.com/moby/locker v1.0.1/go.mod h1:S7SDdo5zpBK84bzzVlKr2V0hz+7x9hWbYC/kq7oQppc=
339339
github.com/moby/sys/mountinfo v0.4.1 h1:1O+1cHA1aujwEwwVMa2Xm2l+gIpUHyd3+D+d7LZh1kM=
340340
github.com/moby/sys/mountinfo v0.4.1/go.mod h1:rEr8tzG/lsIZHBtN/JjGG+LMYx9eXgW2JI+6q0qou+A=
341+
github.com/moby/sys/signal v0.5.1-0.20210723232958-8a51b5cc8879 h1:PkXi3ZKVBSfi1skhCjUykUKRwKxn/D48Nj4D1sWalXk=
342+
github.com/moby/sys/signal v0.5.1-0.20210723232958-8a51b5cc8879/go.mod h1:JwObcMnOrUy2VTP5swPKWwywH0Mbgk8Y5qua9iwtIRM=
341343
github.com/moby/sys/symlink v0.1.0 h1:MTFZ74KtNI6qQQpuBxU+uKCim4WtOMokr03hCfJcazE=
342344
github.com/moby/sys/symlink v0.1.0/go.mod h1:GGDODQmbFOjFsXvfLVn3+ZRxkch54RkSiGqsZeMYowQ=
343345
github.com/moby/term v0.0.0-20200312100748-672ec06f55cd/go.mod h1:DdlQx2hp0Ss5/fLikoLlEeIYiATotOjgB//nb973jeo=
@@ -627,8 +629,9 @@ golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7w
627629
golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
628630
golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
629631
golang.org/x/sys v0.0.0-20210324051608-47abb6519492/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
630-
golang.org/x/sys v0.0.0-20210426230700-d19ff857e887 h1:dXfMednGJh/SUUFjTLsWJz3P+TQt9qnR11GgeI3vWKs=
631632
golang.org/x/sys v0.0.0-20210426230700-d19ff857e887/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
633+
golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c h1:F1jZWGFhYfh0Ci55sIpILtKKK8p3i2/krTr0H1rg74I=
634+
golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
632635
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1 h1:v+OssWQX+hTHEmOBgwxdZxK4zHq3yOs8F9J7mk0PY8E=
633636
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
634637
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=

integration/client/go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ require (
1818
github.com/opencontainers/runtime-spec v1.0.3-0.20210326190908-1c3f411f0417
1919
github.com/pkg/errors v0.9.1
2020
github.com/sirupsen/logrus v1.8.1
21-
golang.org/x/sys v0.0.0-20210426230700-d19ff857e887
21+
golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c
2222
gotest.tools/v3 v3.0.3
2323
)
2424

integration/client/go.sum

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -318,6 +318,8 @@ github.com/moby/locker v1.0.1 h1:fOXqR41zeveg4fFODix+1Ch4mj/gT0NE1XJbp/epuBg=
318318
github.com/moby/locker v1.0.1/go.mod h1:S7SDdo5zpBK84bzzVlKr2V0hz+7x9hWbYC/kq7oQppc=
319319
github.com/moby/sys/mountinfo v0.4.1 h1:1O+1cHA1aujwEwwVMa2Xm2l+gIpUHyd3+D+d7LZh1kM=
320320
github.com/moby/sys/mountinfo v0.4.1/go.mod h1:rEr8tzG/lsIZHBtN/JjGG+LMYx9eXgW2JI+6q0qou+A=
321+
github.com/moby/sys/signal v0.5.1-0.20210723232958-8a51b5cc8879 h1:PkXi3ZKVBSfi1skhCjUykUKRwKxn/D48Nj4D1sWalXk=
322+
github.com/moby/sys/signal v0.5.1-0.20210723232958-8a51b5cc8879/go.mod h1:JwObcMnOrUy2VTP5swPKWwywH0Mbgk8Y5qua9iwtIRM=
321323
github.com/moby/sys/symlink v0.1.0/go.mod h1:GGDODQmbFOjFsXvfLVn3+ZRxkch54RkSiGqsZeMYowQ=
322324
github.com/moby/term v0.0.0-20200312100748-672ec06f55cd/go.mod h1:DdlQx2hp0Ss5/fLikoLlEeIYiATotOjgB//nb973jeo=
323325
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
@@ -589,8 +591,9 @@ golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7w
589591
golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
590592
golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
591593
golang.org/x/sys v0.0.0-20210324051608-47abb6519492/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
592-
golang.org/x/sys v0.0.0-20210426230700-d19ff857e887 h1:dXfMednGJh/SUUFjTLsWJz3P+TQt9qnR11GgeI3vWKs=
593594
golang.org/x/sys v0.0.0-20210426230700-d19ff857e887/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
595+
golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c h1:F1jZWGFhYfh0Ci55sIpILtKKK8p3i2/krTr0H1rg74I=
596+
golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
594597
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
595598
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
596599
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=

pkg/cri/server/container_stop.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ import (
2121
"syscall"
2222
"time"
2323

24-
"github.com/containerd/containerd"
2524
eventtypes "github.com/containerd/containerd/api/events"
2625
"github.com/containerd/containerd/errdefs"
2726
"github.com/containerd/containerd/log"
@@ -32,6 +31,7 @@ import (
3231
"github.com/containerd/containerd/pkg/cri/store"
3332
containerstore "github.com/containerd/containerd/pkg/cri/store/container"
3433
ctrdutil "github.com/containerd/containerd/pkg/cri/util"
34+
"github.com/moby/sys/signal"
3535
)
3636

3737
// StopContainer stops a running container with a grace period (i.e., timeout).
@@ -126,7 +126,7 @@ func (c *criService) stopContainer(ctx context.Context, container containerstore
126126
}
127127
}
128128
}
129-
sig, err := containerd.ParseSignal(stopSignal)
129+
sig, err := signal.ParseSignal(stopSignal)
130130
if err != nil {
131131
return errors.Wrapf(err, "failed to parse stop signal %q", stopSignal)
132132
}

signals.go

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ import (
2424

2525
"github.com/containerd/containerd/content"
2626
"github.com/containerd/containerd/images"
27+
"github.com/moby/sys/signal"
2728
v1 "github.com/opencontainers/image-spec/specs-go/v1"
2829
)
2930

@@ -40,15 +41,15 @@ func GetStopSignal(ctx context.Context, container Container, defaultSignal sysca
4041
}
4142

4243
if stopSignal, ok := labels[StopSignalLabel]; ok {
43-
return ParseSignal(stopSignal)
44+
return signal.ParseSignal(stopSignal)
4445
}
4546

4647
return defaultSignal, nil
4748
}
4849

4950
// GetOCIStopSignal retrieves the stop signal specified in the OCI image config
5051
func GetOCIStopSignal(ctx context.Context, image Image, defaultSignal string) (string, error) {
51-
_, err := ParseSignal(defaultSignal)
52+
_, err := signal.ParseSignal(defaultSignal)
5253
if err != nil {
5354
return "", err
5455
}
@@ -81,3 +82,12 @@ func GetOCIStopSignal(ctx context.Context, image Image, defaultSignal string) (s
8182

8283
return config.StopSignal, nil
8384
}
85+
86+
// ParseSignal parses a given string into a syscall.Signal
87+
// the rawSignal can be a string with "SIG" prefix,
88+
// or a signal number in string format.
89+
//
90+
// Deprecated: Use github.com/moby/sys/signal instead.
91+
func ParseSignal(rawSignal string) (syscall.Signal, error) {
92+
return signal.ParseSignal(rawSignal)
93+
}

signals_unix.go

Lines changed: 0 additions & 43 deletions
This file was deleted.

signals_windows.go

Lines changed: 0 additions & 63 deletions
This file was deleted.

0 commit comments

Comments
 (0)