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

* core: reduce system call about `os`

* avoid deprecated method
pull/25539/head
Seungbae Yu 2 years ago committed by GitHub
parent 6da5c1644d
commit a50c006b49
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 9
      core/tx_journal.go

@ -19,6 +19,7 @@ package core
import ( import (
"errors" "errors"
"io" "io"
"io/fs"
"os" "os"
"github.com/ethereum/go-ethereum/common" "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 // load parses a transaction journal dump from disk, loading its contents into
// the specified pool. // the specified pool.
func (journal *txJournal) load(add func([]*types.Transaction) []error) error { 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 // Open the journal for loading any past transactions
input, err := os.Open(journal.path) 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 { if err != nil {
return err return err
} }

Loading…
Cancel
Save