core: make tx journal check and open atomic (#25530)

* core: reduce system call about `os`

* avoid deprecated method
This commit is contained in:
Seungbae Yu 2022-08-17 20:16:18 +09:00 committed by GitHub
parent 6da5c1644d
commit a50c006b49
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -19,6 +19,7 @@ package core
import (
"errors"
"io"
"io/fs"
"os"
"github.com/ethereum/go-ethereum/common"
@ -57,12 +58,12 @@ func newTxJournal(path string) *txJournal {
// load parses a transaction journal dump from disk, loading its contents into
// the specified pool.
func (journal *txJournal) load(add func([]*types.Transaction) []error) error {
// Skip the parsing if the journal file doesn't exist at all
if !common.FileExist(journal.path) {
return nil
}
// Open the journal for loading any past transactions
input, err := os.Open(journal.path)
if errors.Is(err, fs.ErrNotExist) {
// Skip the parsing if the journal file doesn't exist at all
return nil
}
if err != nil {
return err
}