1
0
mirror of https://github.com/Radarr/Radarr.git synced 2024-09-11 03:52:33 +02:00

Another mono 6.x workaround to use rename rather than expensive copy

This commit is contained in:
Taloth Saldono 2020-04-18 10:55:08 +02:00 committed by Qstick
parent 022af2053a
commit 43a35c8447

View File

@ -231,6 +231,19 @@ private void TransferFilePatched(string source, string destination, bool overwri
// - In 6.0 it'll leave a full length file
// - In 6.6 it'll leave a zero length file
// Catch the exception and attempt to handle these edgecases
// Mono 6.x till 6.10 doesn't properly try use rename first.
if (move && PlatformInfo.Platform == PlatformType.Mono && PlatformInfo.GetVersion() < new Version(6, 10))
{
if (Syscall.lstat(source, out var sourcestat) == 0 &&
Syscall.lstat(destination, out var deststat) != 0 &&
Syscall.rename(source, destination) == 0)
{
_logger.Trace("Moved '{0}' -> '{1}' using Syscall.rename", source, destination);
return;
}
}
try
{
if (move)