Files
docker-cli/components/engine/reexec/reexec.go
Michael Crosby 47e45ae0eb Panic if trying to register an func with the same name
Signed-off-by: Michael Crosby <michael@docker.com>
Upstream-commit: 1a249a5feb9880465594299c1d4965b160e4a14e
Component: engine
2014-08-11 18:13:27 -07:00

31 lines
650 B
Go

package reexec
import (
"fmt"
"os"
)
var registeredInitializers = make(map[string]func())
// Register adds an initialization func under the specified name
func Register(name string, initializer func()) {
if _, exists := registeredInitializers[name]; exists {
panic(fmt.Sprintf("reexec func already registred under name %q", name))
}
registeredInitializers[name] = initializer
}
// Init is called as the first part of the exec process and returns true if an
// initialization function was called.
func Init() bool {
initializer, exists := registeredInitializers[os.Args[0]]
if exists {
initializer()
return true
}
return false
}