summaryrefslogtreecommitdiffstats
path: root/Cargo.toml
diff options
context:
space:
mode:
authorThomas Hurst <tom@hur.st>2022-03-19 19:40:02 +0000
committerThomas Hurst <tom@hur.st>2022-03-19 19:40:02 +0000
commit7d83f965d620ccebeda9a7451cdbb2e40ed88c24 (patch)
tree739720d07a1e1e6f204b3dad11e7942cc9f4da55 /Cargo.toml
parent9a1da6bc4e964912a521b2f0de0bdf6124749ccd (diff)
Improve aggregate progress reporting
Previously, aggregate mode progress reports were handled by an infinitely-looping thread carrying a 64-bit atomic of the current count, which it would print periodically. This resulted in #99 - breaking on platforms without 64-bit atomics, for which a feature was added to disable it. It also implied a race condition, where the "Enumerating ..." message could be printed after results had been gathered but before dua exited. Additionally, part of the status message could be left on the display if the first line of a report was too short to cover it. This commit should resolve these: * The 64-bit atomic counter is replaced with an 8-bit AtomicBool * All printing is controlled from the main thread * The first line is cleared prior to printing a report The only notable drawback I see with this approach is that progress reporting can sometimes be delayed, since the display is only evaluated for update during periods the aggregation loop makes progress. The practical difference appears relatively minor. Since this should resolve #99, the aggregate-scan-progress feature is removed.
Diffstat (limited to 'Cargo.toml')
-rw-r--r--Cargo.toml3
1 files changed, 1 insertions, 2 deletions
diff --git a/Cargo.toml b/Cargo.toml
index ab64366..4f84c04 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -10,13 +10,12 @@ license = "MIT"
include = ["src/**/*", "Cargo.*", "LICENSE", "README.md", "CHANGELOG.md", "!**/tests/*"]
[features]
-default = ["tui-crossplatform", "trash-move", "aggregate-scan-progress"]
+default = ["tui-crossplatform", "trash-move"]
tui-unix = ["crosstermion/tui-react-termion", "tui-shared"]
tui-crossplatform = ["crosstermion/tui-react-crossterm", "tui-shared"]
tui-shared = ["tui", "tui-react", "open", "unicode-segmentation"]
trash-move = ["trash"]
-aggregate-scan-progress = []
[dependencies]
clap = { version = "3.0", features = ["derive"] }