mirror of
https://github.com/rclone/rclone.git
synced 2025-01-29 21:04:23 +02:00
a2336ad774
This was caused by this sequence of calls 1> file.Release 1> file.close -> takes the file lock 2> vfs.waitforWriters 2> dir.walk -> takes the dir lock 1> file.setObject 1> dir.addObject -> attempts to take the dir lock - BLOCKS 2> file.activeWriters -> tries to take file lock - BLOCKS - DEADLOCK The fix is to make activeWriters not take the file lock and use atomic operations to read the number of writers instead.