private static System.Diagnostics.ThreadState ConvertOsxThreadRunStateToThreadState(Interop.libproc.ThreadRunState state)
{
switch (state)
{
case Interop.libproc.ThreadRunState.TH_STATE_RUNNING:
return System.Diagnostics.ThreadState.Running;
case Interop.libproc.ThreadRunState.TH_STATE_STOPPED:
return System.Diagnostics.ThreadState.Terminated;
case Interop.libproc.ThreadRunState.TH_STATE_HALTED:
return System.Diagnostics.ThreadState.Wait;
case Interop.libproc.ThreadRunState.TH_STATE_UNINTERRUPTIBLE:
return System.Diagnostics.ThreadState.Running;
case Interop.libproc.ThreadRunState.TH_STATE_WAITING:
return System.Diagnostics.ThreadState.Standby;
default:
throw new ArgumentOutOfRangeException(nameof(state));
}
}