Update r228592 for when gethostname() returns an error

If gethostname() is not successful, just skip adding the hostname to the
module hash.  And don't bother setting hostname[255] = 0, since if
gethostname() is successful, it will be null-terminated already (and if
it's not successful we don't read the string now.

llvm-svn: 228601
This commit is contained in:
Ben Langmuir
2015-02-09 20:13:11 +00:00
parent ab5a8d6070
commit 9be5d1ece8

View File

@@ -2028,10 +2028,10 @@ std::string CompilerInvocation::getModuleHash() const {
// The LockFileManager cannot tell when processes from another host are
// running, so mangle the hostname in to the module hash to separate them.
char hostname[256];
hostname[255] = 0;
hostname[0] = 0;
gethostname(hostname, 255);
code = hash_combine(code, StringRef(hostname));
if (gethostname(hostname, 255) == 0)
code = hash_combine(code, StringRef(hostname));
// Ignore failures in gethostname() by not including the hostname in the hash.
#endif
return llvm::APInt(64, code).toString(36, /*Signed=*/false);