mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
80a895142e
To help avoid version mismatches between libcontainer and Docker, this updates libcontainer to be the source of truth for which version of logrus the project is using. This should help avoid potential incompatibilities in the future, too. 👍
Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
45 lines
667 B
Go
45 lines
667 B
Go
// +build linux
|
|
|
|
package native
|
|
|
|
import (
|
|
"fmt"
|
|
"os"
|
|
"runtime"
|
|
|
|
"github.com/docker/docker/pkg/reexec"
|
|
"github.com/docker/libcontainer"
|
|
)
|
|
|
|
func init() {
|
|
reexec.Register(DriverName, initializer)
|
|
}
|
|
|
|
func fatal(err error) {
|
|
if lerr, ok := err.(libcontainer.Error); ok {
|
|
lerr.Detail(os.Stderr)
|
|
os.Exit(1)
|
|
}
|
|
|
|
fmt.Fprintln(os.Stderr, err)
|
|
os.Exit(1)
|
|
}
|
|
|
|
func initializer() {
|
|
runtime.GOMAXPROCS(1)
|
|
runtime.LockOSThread()
|
|
factory, err := libcontainer.New("")
|
|
if err != nil {
|
|
fatal(err)
|
|
}
|
|
if err := factory.StartInitialization(); err != nil {
|
|
fatal(err)
|
|
}
|
|
|
|
panic("unreachable")
|
|
}
|
|
|
|
func writeError(err error) {
|
|
fmt.Fprint(os.Stderr, err)
|
|
os.Exit(1)
|
|
}
|