@@ -140,17 +140,12 @@ func (p *setnsProcess) start() (retErr error) {
140140 return fmt .Errorf ("error starting setns process: %w" , err )
141141 }
142142
143- waitInit := initWaiter (p .comm .initSockParent )
144143 defer func () {
145144 if retErr != nil {
146145 if newOom , err := p .manager .OOMKillCount (); err == nil && newOom != oom {
147146 // Someone in this cgroup was killed, this _might_ be us.
148147 retErr = fmt .Errorf ("%w (possibly OOM-killed)" , retErr )
149148 }
150- werr := <- waitInit
151- if werr != nil {
152- logrus .WithError (werr ).Warn ()
153- }
154149 err := ignoreTerminateErrors (p .terminate ())
155150 if err != nil {
156151 logrus .WithError (err ).Warn ("unable to terminate setnsProcess" )
@@ -163,10 +158,6 @@ func (p *setnsProcess) start() (retErr error) {
163158 return fmt .Errorf ("error copying bootstrap data to pipe: %w" , err )
164159 }
165160 }
166- err = <- waitInit
167- if err != nil {
168- return err
169- }
170161 if err := p .execSetns (); err != nil {
171162 return fmt .Errorf ("error executing setns process: %w" , err )
172163 }
@@ -536,7 +527,6 @@ func (p *initProcess) start() (retErr error) {
536527 return fmt .Errorf ("unable to start init: %w" , err )
537528 }
538529
539- waitInit := initWaiter (p .comm .initSockParent )
540530 defer func () {
541531 if retErr != nil {
542532 // Find out if init is killed by the kernel's OOM killer.
@@ -559,11 +549,6 @@ func (p *initProcess) start() (retErr error) {
559549 }
560550 }
561551
562- werr := <- waitInit
563- if werr != nil {
564- logrus .WithError (werr ).Warn ()
565- }
566-
567552 // Terminate the process to ensure we can remove cgroups.
568553 if err := ignoreTerminateErrors (p .terminate ()); err != nil {
569554 logrus .WithError (err ).Warn ("unable to terminate initProcess" )
@@ -601,10 +586,6 @@ func (p *initProcess) start() (retErr error) {
601586 if _ , err := io .Copy (p .comm .initSockParent , p .bootstrapData ); err != nil {
602587 return fmt .Errorf ("can't copy bootstrap data to pipe: %w" , err )
603588 }
604- err = <- waitInit
605- if err != nil {
606- return err
607- }
608589
609590 childPid , err := p .getChildPid ()
610591 if err != nil {
@@ -975,31 +956,6 @@ func (p *Process) InitializeIO(rootuid, rootgid int) (i *IO, err error) {
975956 return i , nil
976957}
977958
978- // initWaiter returns a channel to wait on for making sure
979- // runc init has finished the initial setup.
980- func initWaiter (r io.Reader ) chan error {
981- ch := make (chan error , 1 )
982- go func () {
983- defer close (ch )
984-
985- inited := make ([]byte , 1 )
986- n , err := r .Read (inited )
987- if err == nil {
988- if n < 1 {
989- err = errors .New ("short read" )
990- } else if inited [0 ] != 0 {
991- err = fmt .Errorf ("unexpected %d != 0" , inited [0 ])
992- } else {
993- ch <- nil
994- return
995- }
996- }
997- ch <- fmt .Errorf ("waiting for init preliminary setup: %w" , err )
998- }()
999-
1000- return ch
1001- }
1002-
1003959func setIOPriority (ioprio * configs.IOPriority ) error {
1004960 const ioprioWhoPgrp = 1
1005961
0 commit comments