Prevent addition stalling
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
parent
672d102d46
commit
11b5b81f3e
|
@ -235,6 +235,8 @@ func main() {
|
||||||
|
|
||||||
var taskCount int64
|
var taskCount int64
|
||||||
|
|
||||||
|
var entries int64
|
||||||
|
|
||||||
scanner := bufio.NewScanner(os.Stdin)
|
scanner := bufio.NewScanner(os.Stdin)
|
||||||
defer os.Stdin.Close()
|
defer os.Stdin.Close()
|
||||||
|
|
||||||
|
@ -261,6 +263,7 @@ func main() {
|
||||||
defer atomic.AddInt64(&taskCount, -1)
|
defer atomic.AddInt64(&taskCount, -1)
|
||||||
for scanner.Scan() {
|
for scanner.Scan() {
|
||||||
path := scanner.Text()
|
path := scanner.Text()
|
||||||
|
atomic.AddInt64(&entries, 1)
|
||||||
|
|
||||||
atomic.AddInt64(&taskCount, 1)
|
atomic.AddInt64(&taskCount, 1)
|
||||||
go func() {
|
go func() {
|
||||||
|
@ -279,8 +282,11 @@ func main() {
|
||||||
|
|
||||||
//Already print before finishing, use atomic ints instead of a WaitGroup
|
//Already print before finishing, use atomic ints instead of a WaitGroup
|
||||||
for atomic.LoadInt64(&taskCount) > 0 {
|
for atomic.LoadInt64(&taskCount) > 0 {
|
||||||
result := <-resultChannel
|
if atomic.LoadInt64(&entries) > 0 {
|
||||||
PrintHashFileResult(&result, *outputFormat, pgSettings)
|
atomic.AddInt64(&entries, -1)
|
||||||
|
result := <-resultChannel
|
||||||
|
PrintHashFileResult(&result, *outputFormat, pgSettings)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
close(resultChannel)
|
close(resultChannel)
|
||||||
|
|
Loading…
Reference in a new issue