mirror of
https://github.com/Radarr/Radarr
synced 2024-12-27 02:09:59 +00:00
Another mono 6.x workaround to use rename rather than expensive copy
This commit is contained in:
parent
022af2053a
commit
43a35c8447
1 changed files with 13 additions and 0 deletions
|
@ -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)
|
||||
|
|
Loading…
Reference in a new issue