Thread cancelation problem

Johnathan Burchill <[email protected]> Thu, 02 Dec 2004 21:43:08 -0700
Newsgroups gmane.comp.sysutils.backup.dar.libdar
Message-ID <[email protected]>
Hi Denis,

Sometimes thread cancellation does not work. For example, in KDar if I test 
a relatively small archive, say a backup of the kdar source directory, the 
thread cancellation request is ignored by libdar. Sometimes this happens 
with diff and isolate too.

Also, if I do a dry-run (empty) restoration, the cancellation request is 
ignored.

The issue seems lie with the null_file class. I see in going from version 
1.8 to 1.9 in CVS that you no longer derive null_file from 
thread_cancellation, and you've removed the check_self_cancellation from 
the read and write methods. So if an archive is small enough to be 
completely in memory, then perhaps the thread cancellation check points 
will never be reached.

When I went back to version 1.8 of null_file.hpp libdar responded very 
quickly to all cancellation requests.

Was the change in null_file.hpp intentional? I couldn't find any notes on 
the change in the CVS log.

I recommend reverting to the version 1.8 behaviour of null_file.hpp.

Cheers,
JB
-- 
Johnathan K. Burchill, Ph.D.
[email protected]
signature.asc (application/pgp-signature, 189 B)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.6 (GNU/Linux)

iD8DBQBBr+7hrXMSOtiWrO4RAuICAKCQITw0lvIsctDWSnqlJ34pv+vbZQCePZNG
27FqL1/oV0d9gGPtiDDOzOo=
=p0F0
-----END PGP SIGNATURE-----