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;
}
else if (System.Environment.Is64BitOperatingSystem)
{
info.SystemArchitecture = Architecture.X64;
}
else
{
info.SystemArchitecture = Architecture.X86;
}
info.OperatingSystemVersionString = string.IsNullOrWhiteSpace(sysName) ?
System.Environment.OSVersion.VersionString :
@ -198,14 +206,21 @@ namespace MediaBrowser.Server.Mono.Native
if (_unixName == null)
{
var uname = new Uname();
Utsname utsname;
var callResult = Syscall.uname(out utsname);
if (callResult == 0)
try
{
uname.sysname = utsname.sysname;
uname.machine = utsname.machine;
}
Utsname utsname;
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;
}
return _unixName;