NLog.Targets.FileTarget.DeleteAndWaitForFileDelete C# (CSharp) Method

DeleteAndWaitForFileDelete() private static method

private static DeleteAndWaitForFileDelete ( string fileName ) : void
fileName string
return void
        private static void DeleteAndWaitForFileDelete(string fileName)
        {
            try
            {
                var originalFileCreationTime = (new FileInfo(fileName)).CreationTime;
                if (DeleteOldArchiveFile(fileName) && File.Exists(fileName))
                {
                    FileInfo currentFileInfo;
                    for (int i = 0; i < 120; ++i)
                    { 
                        Thread.Sleep(100);
                        currentFileInfo = new FileInfo(fileName);
                        if (!currentFileInfo.Exists || currentFileInfo.CreationTime != originalFileCreationTime)
                            return;
                    }

                    InternalLogger.Warn("Timeout while deleting old archive file: '{0}'.", fileName);
                }
            }
            catch (Exception exception)
            {
                InternalLogger.Warn(exception, "Failed to delete old archive file: '{0}'.", fileName);
                if (exception.MustBeRethrown())
                {
                    throw;
                }
            }
        }