mirror of
https://github.com/rclone/rclone.git
synced 2025-02-22 08:23:17 +08:00

In this commit: cbf3d43561358149 drive: fix missing items when listing using --fast-list / ListR We introduced a bug where under specific circumstances it could cause a "panic: send on closed channel". This was caused by: - rclone engaging the workaround from the commit above - one of the listing routines returning an error - this caused the `in` channel to be closed to stop the readers - however the workaround was recycling stuff into the `in` channel at the time - hence the panic on closed channel This fix factors out the sending to the `in` channel into `sendJob` and calls this both from the master go routine and the list runners. `sendJob` detects the `in` channel being closed properly and also deals correctly with contention on the `in` channel. Fixes #4511