blob: 276dab6b951eb8c4c982ca5c7dae69c1c2d8aaea [file] [log] [blame]
// Copyright 2018 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "garnet/lib/debug_ipc/records.h"
#include "lib/fxl/logging.h"
namespace debug_ipc {
const char* ThreadRecord::StateToString(ThreadRecord::State state) {
switch (state) {
case ThreadRecord::State::kNew:
return "New";
case ThreadRecord::State::kRunning:
return "Running";
case ThreadRecord::State::kSuspended:
return "Suspended";
case ThreadRecord::State::kBlocked:
return "Blocked";
case ThreadRecord::State::kDying:
return "Dying";
case ThreadRecord::State::kDead:
return "Dead";
case ThreadRecord::State::kCoreDump:
return "Core Dump";
case ThreadRecord::State::kLast:
break;
}
FXL_NOTREACHED();
return "";
}
const char* ThreadRecord::BlockedReasonToString(BlockedReason reason) {
switch (reason) {
case ThreadRecord::BlockedReason::kNotBlocked:
return "Not blocked";
case ThreadRecord::BlockedReason::kException:
return "Exception";
case ThreadRecord::BlockedReason::kSleeping:
return "Sleeping";
case ThreadRecord::BlockedReason::kFutex:
return "Futex";
case ThreadRecord::BlockedReason::kPort:
return "Port";
case ThreadRecord::BlockedReason::kChannel:
return "Channel";
case ThreadRecord::BlockedReason::kWaitOne:
return "Wait one";
case ThreadRecord::BlockedReason::kWaitMany:
return "Wait many";
case ThreadRecord::BlockedReason::kInterrupt:
return "Interrupt";
case ThreadRecord::BlockedReason::kLast:
break;
}
FXL_NOTREACHED();
return "";
}
} // namespace debug_ipc