Ensure thread is locked in sysinit for docker

Signed-off-by: Michael Crosby <michael@docker.com>
Upstream-commit: cd6b9038255be10d827972ea66c8878cf1d228dc
Component: engine
This commit is contained in:
Michael Crosby
2014-08-04 12:34:27 -07:00
parent 3026860f67
commit 614ac47431
+5
View File
@@ -5,6 +5,7 @@ import (
"fmt"
"log"
"os"
"runtime"
"github.com/docker/docker/daemon/execdriver"
_ "github.com/docker/docker/daemon/execdriver/lxc"
@@ -23,6 +24,10 @@ func executeProgram(args *execdriver.InitArgs) error {
// This code is run INSIDE the container and is responsible for setting
// up the environment before running the actual process
func SysInit() {
// The very first thing that we should do is lock the thread so that other
// system level options will work and not have issues, i.e. setns
runtime.LockOSThread()
if len(os.Args) <= 1 {
fmt.Println("You should not invoke dockerinit manually")
os.Exit(1)