Skip to content

Commit aa3515c

Browse files
committed
fix: fix deadlock
1 parent 132ec66 commit aa3515c

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

fs.go

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,20 +18,25 @@ func RemoveAll(f string) error {
1818

1919
entrysLen := len(entrys)
2020

21-
chs := make(chan interface{}, entrysLen)
21+
chs := make(chan struct{}, entrysLen)
2222
errChan := make(chan error)
2323

2424
for _, entry := range entrys {
2525
go func(entry os.DirEntry) {
2626
p := path.Join(f, entry.Name())
2727
if entry.IsDir() {
28-
nestedErr := RemoveAll(p)
29-
if nestedErr != nil {
30-
errChan <- nestedErr
28+
err := RemoveAll(p)
29+
if err != nil {
30+
errChan <- err
3131
}
3232
return
3333
}
34-
os.Remove(p)
34+
err := os.Remove(p)
35+
if err != nil {
36+
errChan <- err
37+
return
38+
}
39+
chs <- struct{}{}
3540
}(entry)
3641
}
3742

0 commit comments

Comments
 (0)