MCPcopy Index your code
hub / github.com/moby/moby / initializeCreatedTask

Method initializeCreatedTask

daemon/start_linux.go:17–43  ·  view source on GitHub ↗

initializeCreatedTask performs any initialization that needs to be done to prepare a freshly-created task to be started.

(
	ctx context.Context,
	cfg *config.Config,
	tsk types.Task,
	ctr *container.Container,
	spec *specs.Spec,
)

Source from the content-addressed store, hash-verified

15// initializeCreatedTask performs any initialization that needs to be done to
16// prepare a freshly-created task to be started.
17func (daemon *Daemon) initializeCreatedTask(
18 ctx context.Context,
19 cfg *config.Config,
20 tsk types.Task,
21 ctr *container.Container,
22 spec *specs.Spec,
23) error {
24 if ctr.Config.NetworkDisabled {
25 return nil
26 }
27 nspath, ok := oci.NamespacePath(spec, specs.NetworkNamespace)
28 if ok && nspath == "" { // the runtime has been instructed to create a new network namespace for tsk.
29 sb, err := daemon.netController.GetSandbox(ctr.ID)
30 if err != nil {
31 return errdefs.System(err)
32 }
33 if err := sb.SetKey(ctx, fmt.Sprintf("/proc/%d/ns/net", tsk.Pid())); err != nil {
34 return errdefs.System(err)
35 }
36 }
37 if err := daemon.runInNetNS(func() error {
38 return daemon.allocateNetwork(ctx, cfg, ctr)
39 }); err != nil {
40 return fmt.Errorf("%s: %w", errSetupNetworking, err)
41 }
42 return nil
43}

Callers 1

containerStartMethod · 0.95

Calls 8

runInNetNSMethod · 0.95
allocateNetworkMethod · 0.95
NamespacePathFunction · 0.92
SystemFunction · 0.92
GetSandboxMethod · 0.80
ErrorfMethod · 0.80
PidMethod · 0.65
SetKeyMethod · 0.45

Tested by

no test coverage detected