mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2026-10-14 10:08:35 +02:00
atomic
This commit is contained in:
1 parent
457cb7d98a
commit
712648bc35
2 files changed
+8
-11
No files matched your search
@@ -155,7 +155,6 @@ func doTraverseBfsAndSaving(filerClient filer_pb.FilerClient, writer io.Writer,
|
||||
}()
|
||||
|
||||
var dirCount, fileCount uint64
|
||||
var once sync.Once
|
||||
var firstErr error
|
||||
var hasErr atomic.Bool
|
||||
|
||||
@@ -176,10 +175,8 @@ func doTraverseBfsAndSaving(filerClient filer_pb.FilerClient, writer io.Writer,
|
||||
return firstErr
|
||||
}
|
||||
if genErr := genFn(protoMessage, outputChan); genErr != nil {
|
||||
once.Do(func() {
|
||||
firstErr = genErr
|
||||
hasErr.Store(true)
|
||||
})
|
||||
firstErr = genErr
|
||||
hasErr.Store(true)
|
||||
return genErr
|
||||
} else {
|
||||
if e.IsDirectory {
|
||||
@@ -208,11 +205,10 @@ func doTraverseBfsAndSaving(filerClient filer_pb.FilerClient, writer io.Writer,
|
||||
return firstErr
|
||||
}
|
||||
if genErr := genFn(protoMessage, outputChan); genErr != nil {
|
||||
once.Do(func() {
|
||||
if hasErr.CompareAndSwap(false, true) {
|
||||
firstErr = genErr
|
||||
hasErr.Store(true)
|
||||
cancel()
|
||||
})
|
||||
}
|
||||
return genErr
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user