@@ -140,17 +140,12 @@ func (p *setnsProcess) start() (retErr error) {
140
140
return fmt .Errorf ("error starting setns process: %w" , err )
141
141
}
142
142
143
- waitInit := initWaiter (p .comm .initSockParent )
144
143
defer func () {
145
144
if retErr != nil {
146
145
if newOom , err := p .manager .OOMKillCount (); err == nil && newOom != oom {
147
146
// Someone in this cgroup was killed, this _might_ be us.
148
147
retErr = fmt .Errorf ("%w (possibly OOM-killed)" , retErr )
149
148
}
150
- werr := <- waitInit
151
- if werr != nil {
152
- logrus .WithError (werr ).Warn ()
153
- }
154
149
err := ignoreTerminateErrors (p .terminate ())
155
150
if err != nil {
156
151
logrus .WithError (err ).Warn ("unable to terminate setnsProcess" )
@@ -163,10 +158,6 @@ func (p *setnsProcess) start() (retErr error) {
163
158
return fmt .Errorf ("error copying bootstrap data to pipe: %w" , err )
164
159
}
165
160
}
166
- err = <- waitInit
167
- if err != nil {
168
- return err
169
- }
170
161
if err := p .execSetns (); err != nil {
171
162
return fmt .Errorf ("error executing setns process: %w" , err )
172
163
}
@@ -536,7 +527,6 @@ func (p *initProcess) start() (retErr error) {
536
527
return fmt .Errorf ("unable to start init: %w" , err )
537
528
}
538
529
539
- waitInit := initWaiter (p .comm .initSockParent )
540
530
defer func () {
541
531
if retErr != nil {
542
532
// Find out if init is killed by the kernel's OOM killer.
@@ -559,11 +549,6 @@ func (p *initProcess) start() (retErr error) {
559
549
}
560
550
}
561
551
562
- werr := <- waitInit
563
- if werr != nil {
564
- logrus .WithError (werr ).Warn ()
565
- }
566
-
567
552
// Terminate the process to ensure we can remove cgroups.
568
553
if err := ignoreTerminateErrors (p .terminate ()); err != nil {
569
554
logrus .WithError (err ).Warn ("unable to terminate initProcess" )
@@ -601,10 +586,6 @@ func (p *initProcess) start() (retErr error) {
601
586
if _ , err := io .Copy (p .comm .initSockParent , p .bootstrapData ); err != nil {
602
587
return fmt .Errorf ("can't copy bootstrap data to pipe: %w" , err )
603
588
}
604
- err = <- waitInit
605
- if err != nil {
606
- return err
607
- }
608
589
609
590
childPid , err := p .getChildPid ()
610
591
if err != nil {
@@ -975,31 +956,6 @@ func (p *Process) InitializeIO(rootuid, rootgid int) (i *IO, err error) {
975
956
return i , nil
976
957
}
977
958
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
-
1003
959
func setIOPriority (ioprio * configs.IOPriority ) error {
1004
960
const ioprioWhoPgrp = 1
1005
961
0 commit comments