[Dar-libdar_api] Thread cancelation problem
For full, incremental, compressed and encrypted backups or archives
Brought to you by:
edrusb
|
From: Johnathan B. <jk...@us...> - 2004-12-03 05:48:52
|
Hi Denis, Sometimes thread cancellation does not work. For example, in KDar if I test= =20 a relatively small archive, say a backup of the kdar source directory, the= =20 thread cancellation request is ignored by libdar. Sometimes this happens=20 with diff and isolate too. Also, if I do a dry-run (empty) restoration, the cancellation request is=20 ignored. The issue seems lie with the null_file class. I see in going from version=20 1.8 to 1.9 in CVS that you no longer derive null_file from=20 thread_cancellation, and you've removed the check_self_cancellation from=20 the read and write methods. So if an archive is small enough to be=20 completely in memory, then perhaps the thread cancellation check points=20 will never be reached. When I went back to version 1.8 of null_file.hpp libdar responded very=20 quickly to all cancellation requests. Was the change in null_file.hpp intentional? I couldn't find any notes on=20 the change in the CVS log. I recommend reverting to the version 1.8 behaviour of null_file.hpp. Cheers, JB =2D-=20 Johnathan K. Burchill, Ph.D. jk...@us... |