[Thunar-dev] why move takes so long

Brian J. Tarricone bjt23 at cornell.edu
Fri Jan 13 19:24:35 CET 2006


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

sofar wrote:
> 
> On Fri, 13 Jan 2006 11:15:44 -0300, hernux <hernux at etherac.com.ar>
> wrote:
>>
>> I haven't seen the code, but I guess that he is not calling system
>> cp/mv commands.. so, implementation may be different from what I
>> said before..
> 
> Calling a shell command to do mv/cp from a C program is kind of
> awkward, and often a bad thing - you have no idea what is happening
> while a copy is progressing for instance. In any case a proper
> implementation in C is not as simple as you think, which is why the
> current code is 'as is'.

Actually the implementation is pretty simple: the rename()[0] C call,
and fall back to the normal copy-and-delete method if that fails (src
and dest are on different file systems, etc.).  But it's easy to see why
Benny just used the copy-and-delete method for now since it was already
implemented for normal copying.

	-b

[0] I'm assuming that rename() will always fail gracefully: i.e.,
there's no situation where a failed rename() will cause data loss.  I'm
pretty sure it's safe, but I haven't read the manpage in a while.

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (GNU/Linux)

iD8DBQFDx/Bj6XyW6VEeAnsRAiVdAKCW7xAd013z2bxcB35nhlfsfrovVwCg0xQG
i/w/eaK95SGbiJLfAMZqgnI=
=RrHx
-----END PGP SIGNATURE-----



More information about the Thunar-dev mailing list