full diff: https://github.com/containerd/containerd/compare/7c1e88399ec0b0b077121d9d5ad97e647b11c870...481103c8793316c118d9f795cde18060847c370e
- Fix error handling for task deletion
- Fix fd leak of shim log
- Fix killall when use pidnamespace
- Improve ARM platform matching
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
... | ... |
@@ -117,7 +117,7 @@ github.com/googleapis/gax-go 317e0006254c44a0ac427cc52a0e |
117 | 117 |
google.golang.org/genproto 694d95ba50e67b2e363f3483057db5d4910c18f9 |
118 | 118 |
|
119 | 119 |
# containerd |
120 |
-github.com/containerd/containerd 7c1e88399ec0b0b077121d9d5ad97e647b11c870 |
|
120 |
+github.com/containerd/containerd 481103c8793316c118d9f795cde18060847c370e |
|
121 | 121 |
github.com/containerd/fifo a9fb20d87448d386e6d50b1f2e1fa70dcf0de43c |
122 | 122 |
github.com/containerd/continuity aaeac12a7ffcd198ae25440a9dff125c2e2703a7 |
123 | 123 |
github.com/containerd/cgroups 5fbad35c2a7e855762d3c60f2e474ffcad0d470a |
... | ... |
@@ -29,11 +29,48 @@ type MatchComparer interface { |
29 | 29 |
// Only returns a match comparer for a single platform |
30 | 30 |
// using default resolution logic for the platform. |
31 | 31 |
// |
32 |
+// For ARMv8, will also match ARMv7, ARMv6 and ARMv5 (for 32bit runtimes) |
|
32 | 33 |
// For ARMv7, will also match ARMv6 and ARMv5 |
33 | 34 |
// For ARMv6, will also match ARMv5 |
34 | 35 |
func Only(platform specs.Platform) MatchComparer { |
35 | 36 |
platform = Normalize(platform) |
36 | 37 |
if platform.Architecture == "arm" { |
38 |
+ if platform.Variant == "v8" { |
|
39 |
+ return orderedPlatformComparer{ |
|
40 |
+ matchers: []Matcher{ |
|
41 |
+ &matcher{ |
|
42 |
+ Platform: platform, |
|
43 |
+ }, |
|
44 |
+ &matcher{ |
|
45 |
+ Platform: specs.Platform{ |
|
46 |
+ Architecture: platform.Architecture, |
|
47 |
+ OS: platform.OS, |
|
48 |
+ OSVersion: platform.OSVersion, |
|
49 |
+ OSFeatures: platform.OSFeatures, |
|
50 |
+ Variant: "v7", |
|
51 |
+ }, |
|
52 |
+ }, |
|
53 |
+ &matcher{ |
|
54 |
+ Platform: specs.Platform{ |
|
55 |
+ Architecture: platform.Architecture, |
|
56 |
+ OS: platform.OS, |
|
57 |
+ OSVersion: platform.OSVersion, |
|
58 |
+ OSFeatures: platform.OSFeatures, |
|
59 |
+ Variant: "v6", |
|
60 |
+ }, |
|
61 |
+ }, |
|
62 |
+ &matcher{ |
|
63 |
+ Platform: specs.Platform{ |
|
64 |
+ Architecture: platform.Architecture, |
|
65 |
+ OS: platform.OS, |
|
66 |
+ OSVersion: platform.OSVersion, |
|
67 |
+ OSFeatures: platform.OSFeatures, |
|
68 |
+ Variant: "v5", |
|
69 |
+ }, |
|
70 |
+ }, |
|
71 |
+ }, |
|
72 |
+ } |
|
73 |
+ } |
|
37 | 74 |
if platform.Variant == "v7" { |
38 | 75 |
return orderedPlatformComparer{ |
39 | 76 |
matchers: []Matcher{ |
... | ... |
@@ -98,9 +98,9 @@ func WithStart(binary, address, daemonAddress, cgroup string, debug bool, exitHa |
98 | 98 |
cmd.Wait() |
99 | 99 |
exitHandler() |
100 | 100 |
if stdoutLog != nil { |
101 |
- stderrLog.Close() |
|
101 |
+ stdoutLog.Close() |
|
102 | 102 |
} |
103 |
- if stdoutLog != nil { |
|
103 |
+ if stderrLog != nil { |
|
104 | 104 |
stderrLog.Close() |
105 | 105 |
} |
106 | 106 |
}() |
... | ... |
@@ -554,7 +554,7 @@ func shouldKillAllOnExit(bundlePath string) (bool, error) { |
554 | 554 |
|
555 | 555 |
if bundleSpec.Linux != nil { |
556 | 556 |
for _, ns := range bundleSpec.Linux.Namespaces { |
557 |
- if ns.Type == specs.PIDNamespace { |
|
557 |
+ if ns.Type == specs.PIDNamespace && ns.Path == "" { |
|
558 | 558 |
return false, nil |
559 | 559 |
} |
560 | 560 |
} |