add syscall error handling

This commit is contained in:
Luke Pulverenti 2016-07-05 00:16:03 -04:00
parent 3407b5a340
commit 97d21723f3

View File

@ -183,6 +183,14 @@ namespace MediaBrowser.Server.Mono.Native
{ {
info.SystemArchitecture = Architecture.Arm; info.SystemArchitecture = Architecture.Arm;
} }
else if (System.Environment.Is64BitOperatingSystem)
{
info.SystemArchitecture = Architecture.X64;
}
else
{
info.SystemArchitecture = Architecture.X86;
}
info.OperatingSystemVersionString = string.IsNullOrWhiteSpace(sysName) ? info.OperatingSystemVersionString = string.IsNullOrWhiteSpace(sysName) ?
System.Environment.OSVersion.VersionString : System.Environment.OSVersion.VersionString :
@ -198,14 +206,21 @@ namespace MediaBrowser.Server.Mono.Native
if (_unixName == null) if (_unixName == null)
{ {
var uname = new Uname(); var uname = new Uname();
Utsname utsname; try
var callResult = Syscall.uname(out utsname);
if (callResult == 0)
{ {
uname.sysname = utsname.sysname; Utsname utsname;
uname.machine = utsname.machine; var callResult = Syscall.uname(out utsname);
} if (callResult == 0)
{
uname.sysname = utsname.sysname ?? string.Empty;
uname.machine = utsname.machine ?? string.Empty;
}
}
catch (Exception ex)
{
Logger.ErrorException("Error getting unix name", ex);
}
_unixName = uname; _unixName = uname;
} }
return _unixName; return _unixName;