Browse Source

use defers to close files

pull/1424/head
Marten Seemann 4 years ago
parent
commit
593727b654
  1. 14
      p2p/transport/quic/tracer.go

14
p2p/transport/quic/tracer.go

@ -68,6 +68,8 @@ func newQlogger(qlogDir string, role logging.Perspective, connID []byte) io.Writ
}
func (l *qlogger) Close() error {
defer os.Remove(l.f.Name())
defer l.f.Close()
if err := l.Writer.Flush(); err != nil {
return err
}
@ -78,6 +80,7 @@ func (l *qlogger) Close() error {
if err != nil {
return err
}
defer f.Close()
buf := bufio.NewWriter(f)
c, err := zstd.NewWriter(buf, zstd.WithEncoderLevel(zstd.SpeedFastest))
if err != nil {
@ -89,14 +92,5 @@ func (l *qlogger) Close() error {
if err := c.Close(); err != nil {
return err
}
if err := buf.Flush(); err != nil {
return err
}
if err := l.f.Close(); err != nil {
return err
}
if err := os.Remove(l.f.Name()); err != nil {
return err
}
return f.Close()
return buf.Flush()
}

Loading…
Cancel
Save