From 53a930f1e1d735283e3a839ee30978f08279ed90 Mon Sep 17 00:00:00 2001 From: lorneli Date: Mon, 11 Sep 2017 20:41:08 +0800 Subject: [PATCH] tx: just close file once in WriteTo function WriteTo function closes file twice in normal path previously. --- tx.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/tx.go b/tx.go index 57c4d5a..3c4b144 100644 --- a/tx.go +++ b/tx.go @@ -317,7 +317,11 @@ func (tx *Tx) WriteTo(w io.Writer) (n int64, err error) { if err != nil { return 0, err } - defer func() { _ = f.Close() }() + defer func() { + if cerr := f.Close(); err == nil { + err = cerr + } + }() // Generate a meta page. We use the same page data for both meta pages. buf := make([]byte, tx.db.pageSize) @@ -356,7 +360,7 @@ func (tx *Tx) WriteTo(w io.Writer) (n int64, err error) { return n, err } - return n, f.Close() + return n, nil } // CopyFile copies the entire database to file at the given path.