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 |
} |