[Gambas-user] Move ... Kill function (File & Directory Functions)
Tony Morehen
tmorehen at ajm-software.com
Sun Sep 23 17:17:51 CEST 2018
This answers my concern.
On 2018-09-23 10:06 a.m., Benoît Minisini wrote:
> Le 23/09/2018 à 16:01, Hans Lehmann a écrit :
>> Hello Fabien,
>>
>> thank you very much for the short explanation - fits.
>> The function chain 'MOVE OldName KILL NewName' obviously replaces the
>> following source code:
>>
>> If Not (Exist(sDestinationPath & sFileName)) Then
>> Try Copy sSourcePath &/ sFileName To sDestinationPath &/ sFileName
>> Else
>> Kill sDestinationPath &/ sFileName
>> Try Copy sSourcePath &/ sFileName To sDestinationPath &/ sFileName
>> If Error Then
>> Message.Error("Error! " & Error.Text)
>> Return
>> Endif
>> Endif
>>
>> Is this correct?
>>
>> Yours sincerely
>>
>> Hans
>>
>
> Not really: the important word in the command description is "atomic".
>
> Killing and then moving the file does the same thing, but not
> atomically, i.e. there is a time interval during which the target file
> does not exist.
>
> Which is not the case with the MOVE ... KILL ... variant. Linux
> guarantees that the target file always exist (being the older or the
> newer).
>
> This is very important if you need to save a file, being able to
> rollback if there is a problem, and always have a correct version
> existing on the disk.
>
> Regards,
>
More information about the User
mailing list