utils.go 563 B

1234567891011121314151617181920212223242526272829
  1. // +build linux
  2. package native
  3. import (
  4. "encoding/json"
  5. "os"
  6. "github.com/docker/libcontainer"
  7. )
  8. func findUserArgs() []string {
  9. for i, a := range os.Args {
  10. if a == "--" {
  11. return os.Args[i+1:]
  12. }
  13. }
  14. return []string{}
  15. }
  16. // loadConfigFromFd loads a container's config from the sync pipe that is provided by
  17. // fd 3 when running a process
  18. func loadConfigFromFd() (*libcontainer.Config, error) {
  19. var config *libcontainer.Config
  20. if err := json.NewDecoder(os.NewFile(3, "child")).Decode(&config); err != nil {
  21. return nil, err
  22. }
  23. return config, nil
  24. }