libcontainerd: remove/rename err-returns

Prevent accidentally shadowing these errors, which are used in defers.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
This commit is contained in:
Sebastiaan van Stijn
2024-02-10 13:15:47 +01:00
parent f87dcbe350
commit 152db74d96
3 changed files with 18 additions and 17 deletions

View File

@@ -13,12 +13,12 @@ type autoClosingReader struct {
sync.Once
}
func (r *autoClosingReader) Read(b []byte) (n int, err error) {
n, err = r.ReadCloser.Read(b)
func (r *autoClosingReader) Read(b []byte) (int, error) {
n, err := r.ReadCloser.Read(b)
if err != nil {
r.Once.Do(func() { r.ReadCloser.Close() })
}
return
return n, err
}
func createStdInCloser(pipe io.WriteCloser, process hcsshim.Process) io.WriteCloser {

View File

@@ -92,18 +92,19 @@ func (c *container) newTask(t containerd.Task) *task {
return &task{Task: t, ctr: c}
}
func (c *container) AttachTask(ctx context.Context, attachStdio libcontainerdtypes.StdioCallback) (_ libcontainerdtypes.Task, err error) {
func (c *container) AttachTask(ctx context.Context, attachStdio libcontainerdtypes.StdioCallback) (_ libcontainerdtypes.Task, retErr error) {
var dio *cio.DirectIO
defer func() {
if err != nil && dio != nil {
if retErr != nil && dio != nil {
dio.Cancel()
dio.Close()
_ = dio.Close()
}
}()
attachIO := func(fifos *cio.FIFOSet) (cio.IO, error) {
// dio must be assigned to the previously defined dio for the defer above
// to handle cleanup
var err error
dio, err = c.client.newDirectIO(ctx, fifos)
if err != nil {
return nil, err

View File

@@ -41,7 +41,7 @@ func (dc *delayedConnection) unblockConnectionWaiters() {
}
func (dc *delayedConnection) Close() error {
dc.l.Close()
_ = dc.l.Close()
if dc.con != nil {
return dc.con.Close()
}
@@ -56,7 +56,7 @@ type stdioPipes struct {
}
// newStdioPipes creates actual fifos for stdio.
func (c *client) newStdioPipes(fifos *cio.FIFOSet) (_ *stdioPipes, err error) {
func (c *client) newStdioPipes(fifos *cio.FIFOSet) (_ *stdioPipes, retErr error) {
p := &stdioPipes{}
if fifos.Stdin != "" {
c.logger.WithField("stdin", fifos.Stdin).Debug("listen")
@@ -69,8 +69,8 @@ func (c *client) newStdioPipes(fifos *cio.FIFOSet) (_ *stdioPipes, err error) {
}
dc.wg.Add(1)
defer func() {
if err != nil {
dc.Close()
if retErr != nil {
_ = dc.Close()
}
}()
p.stdin = dc
@@ -79,7 +79,7 @@ func (c *client) newStdioPipes(fifos *cio.FIFOSet) (_ *stdioPipes, err error) {
c.logger.WithField("stdin", fifos.Stdin).Debug("accept")
conn, err := l.Accept()
if err != nil {
dc.Close()
_ = dc.Close()
if err != winio.ErrPipeListenerClosed {
c.logger.WithError(err).Errorf("failed to accept stdin connection on %s", fifos.Stdin)
}
@@ -102,8 +102,8 @@ func (c *client) newStdioPipes(fifos *cio.FIFOSet) (_ *stdioPipes, err error) {
}
dc.wg.Add(1)
defer func() {
if err != nil {
dc.Close()
if retErr != nil {
_ = dc.Close()
}
}()
p.stdout = dc
@@ -112,7 +112,7 @@ func (c *client) newStdioPipes(fifos *cio.FIFOSet) (_ *stdioPipes, err error) {
c.logger.WithField("stdout", fifos.Stdout).Debug("accept")
conn, err := l.Accept()
if err != nil {
dc.Close()
_ = dc.Close()
if err != winio.ErrPipeListenerClosed {
c.logger.WithFields(log.Fields{"error": err, "stdout": fifos.Stdout}).Error("failed to accept stdout connection")
}
@@ -135,8 +135,8 @@ func (c *client) newStdioPipes(fifos *cio.FIFOSet) (_ *stdioPipes, err error) {
}
dc.wg.Add(1)
defer func() {
if err != nil {
dc.Close()
if retErr != nil {
_ = dc.Close()
}
}()
p.stderr = dc
@@ -145,7 +145,7 @@ func (c *client) newStdioPipes(fifos *cio.FIFOSet) (_ *stdioPipes, err error) {
c.logger.WithField("stderr", fifos.Stderr).Debug("accept")
conn, err := l.Accept()
if err != nil {
dc.Close()
_ = dc.Close()
if err != winio.ErrPipeListenerClosed {
c.logger.WithError(err).Errorf("failed to accept stderr connection on %s", fifos.Stderr)
}