rclone/fs/operations
Nick Craig-Wood 22a14a8c98 operations: fix deadlock when using lsd/ls with --progress - Fixes #7102
The --progress flag overrides operations.SyncPrintf in order to do its
magic on stdout without interfering with other output.

Before this change the syncFprintf routine in operations (which is
used to print all output to stdout) was taking the
operations.StdoutMutex and the printProgress function in the
--progress routine was also attempting to take the same mutex causing
a deadlock.

This patch fixes the problem by moving the locking from the
syncFprintf function to SyncPrintf. It is then up to the function
overriding this to lock the StdoutMutex. This ensures the StdoutMutex
can never cause a deadlock.
2023-07-03 15:07:00 +01:00
..
check_test.go test: replace defer cleanup with t.Cleanup 2022-12-09 14:38:05 +00:00
check.go operations: reopen downloads on error when using check --download and cat 2023-06-10 14:42:29 +01:00
dedupe_test.go test: replace defer cleanup with t.Cleanup 2022-12-09 14:38:05 +00:00
dedupe.go accounting: Make checkers show what they are doing 2023-03-01 11:10:38 +00:00
listdirsorted_test.go test: replace defer cleanup with t.Cleanup 2022-12-09 14:38:05 +00:00
lsjson_test.go rc: fix operations/stat with trailing / 2023-03-22 16:22:45 +00:00
lsjson.go lsjson: make --stat more efficient 2023-04-28 14:31:05 +01:00
multithread_test.go operations: Don't use multi-thread copy if the backend doesn't support it #6915 2023-05-09 17:40:58 +01:00
multithread.go fs: allow setting a write buffer for multithread 2023-06-23 18:44:43 +01:00
operations_internal_test.go fs: deglobalise the config #4685 2020-11-26 16:40:12 +00:00
operations_test.go operations: ignore partial tests on backends which don't support them 2023-05-17 17:03:26 +01:00
operations.go operations: fix deadlock when using lsd/ls with --progress - Fixes #7102 2023-07-03 15:07:00 +01:00
rc_test.go test: replace defer cleanup with t.Cleanup 2022-12-09 14:38:05 +00:00
rc.go doc: Clarify the srcFs and dstRs when using local filesystem 2023-03-24 11:25:39 +00:00
reopen_test.go Replace deprecated ioutil 2022-11-07 11:41:47 +00:00
reopen.go operations: reopen downloads on error when using check --download and cat 2023-06-10 14:42:29 +01:00