Imported Upstream version 4.3.2.467

Former-commit-id: 9c2cb47f45fa221e661ab616387c9cda183f283d
This commit is contained in:
Xamarin Public Jenkins
2016-02-22 11:00:01 -05:00
parent f302175246
commit f3e3aab35a
4097 changed files with 122406 additions and 82300 deletions

View File

@@ -666,7 +666,7 @@ internal class BuildManagerHost : MarshalByRefObject, IRegisteredObject {
hashCodeCombiner = new HashCodeCombiner();
}
hashCodeCombiner.AddInt(_stringDictionary[virtualDependency].GetHashCode());
hashCodeCombiner.AddInt(StringUtil.GetNonRandomizedHashCode((string)_stringDictionary[virtualDependency]));
continue;
}

View File

@@ -456,7 +456,10 @@ internal abstract class DiskBuildResultCache: BuildResultCache {
// as it will not be used in future.
if (HostingEnvironment.ShutdownInitiated) {
BuildResultCompiledAssemblyBase compiledResult = result as BuildResultCompiledAssemblyBase;
if (compiledResult != null)
// DevDiv2 880034: check if ResultAssembly is null before calling GetName().
// UsesExistingAssembly could be true in updatable compilation scenarios.
if (compiledResult != null && compiledResult.ResultAssembly != null && !compiledResult.UsesExistingAssembly)
MarkAssemblyAndRelatedFilesForDeletion(compiledResult.ResultAssembly.GetName().Name);
return;
}

View File

@@ -169,7 +169,8 @@ internal static class CompilationLock {
// Create the mutex (or just get it if another process created it).
// Make the mutex unique per application
int hashCode = ("CompilationLock" + HttpRuntime.AppDomainAppId.ToLower(CultureInfo.InvariantCulture)).GetHashCode();
int hashCode = StringUtil.GetNonRandomizedHashCode("CompilationLock" + HttpRuntime.AppDomainAppId.ToLower(CultureInfo.InvariantCulture));
_mutex = new CompilationMutex(
"CL" + hashCode.ToString("x", CultureInfo.InvariantCulture),