(p *Process, cmd *exec.Cmd, comm *processComm)
| 623 | } |
| 624 | |
| 625 | func (c *Container) newInitProcess(p *Process, cmd *exec.Cmd, comm *processComm) (*initProcess, error) { |
| 626 | cmd.Env = append(cmd.Env, "_LIBCONTAINER_INITTYPE="+string(initStandard)) |
| 627 | nsMaps := make(map[configs.NamespaceType]string) |
| 628 | for _, ns := range c.config.Namespaces { |
| 629 | if ns.Path != "" { |
| 630 | nsMaps[ns.Type] = ns.Path |
| 631 | } |
| 632 | } |
| 633 | data, err := c.bootstrapData(c.config.Namespaces.CloneFlags(), nsMaps) |
| 634 | if err != nil { |
| 635 | return nil, err |
| 636 | } |
| 637 | |
| 638 | init := &initProcess{ |
| 639 | containerProcess: containerProcess{ |
| 640 | cmd: cmd, |
| 641 | comm: comm, |
| 642 | manager: c.cgroupManager, |
| 643 | config: c.newInitConfig(p), |
| 644 | process: p, |
| 645 | bootstrapData: data, |
| 646 | container: c, |
| 647 | }, |
| 648 | intelRdtManager: c.intelRdtManager, |
| 649 | } |
| 650 | c.initProcess = init |
| 651 | return init, nil |
| 652 | } |
| 653 | |
| 654 | func (c *Container) newSetnsProcess(p *Process, cmd *exec.Cmd, comm *processComm) (*setnsProcess, error) { |
| 655 | cmd.Env = append(cmd.Env, "_LIBCONTAINER_INITTYPE="+string(initSetns)) |
no test coverage detected