A fix is committed that also implements a proper HashPauser instance / GUI 
pause event count which effecively pauses activity once the current FileReader 
chunk has been finished.
This design also allows multiple HashPauser objects to be instantiated and 
destructed in any order (which allows even dynamic instances, if needed).
GUI pause requests always remain in place as before but resumes may experience 
a little delay since HashPauses in effect now have the preference and things 
remain paused as long as there are HashPauser instances.

-- 
You received this bug notification because you are a member of
Dcplusplus-team, which is subscribed to DC++.
https://bugs.launchpad.net/bugs/2111115

Title:
  Hashing cannot be paushed instantly or sometimes at all

Status in DC++:
  Fix Committed

Bug description:
  This is a long time issue stil present on DC++ 0.882. As the title says 
pausing the hasher loop from the GUI is often not instantaneous, especially 
when hashing many small files.
  The cause is a buggy pauser code that signals a counting semaphore for each 
file added to the hashing queue but later it fails to account for this behavior.

  Side effects above the lack of instant pause:
  - HashPauser objects utilize the same code and they're used for holding disk 
activity while a shared directories tree is being (re)built (share refresh). 
Obviously due to the issue HashPauser often cannot fulfill its purpose.
  - The current code allows manual /rebuild's to start when hashing is paused. 
Same issue as above, this is not wanted during share indices rebuilds.
  - If you start to hash a few larger files and you pause hashing, then when 
you exit DC++ a deadlock can happen more ofthen than not, which prevents the 
hasher thread from shutting down.
  - If you start hashing a lot of small files then click Pause (which is 
ineffetive) and you keep the Indexing progress dialog open, the displayed stats 
will go very weird soon, like numbers go as large as they displayed in 
scientific notation, etc...

To manage notifications about this bug go to:
https://bugs.launchpad.net/dcplusplus/+bug/2111115/+subscriptions


_______________________________________________
Mailing list: https://launchpad.net/~linuxdcpp-team
Post to     : linuxdcpp-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~linuxdcpp-team
More help   : https://help.launchpad.net/ListHelp

Reply via email to