public int status()

in core/src/main/java/com/jetbrains/sa/jdi/ThreadReferenceImpl.java [100:121]


    public int status() {
        int state = OopUtilities.threadOopGetThreadStatus(ref());
        // refer to map2jdwpThreadStatus in util.c (back-end)
        if ((state & JVMTI_THREAD_STATE_ALIVE) == 0) {
            if ((state & JVMTI_THREAD_STATE_TERMINATED) != 0) {
                return ThreadReference.THREAD_STATUS_ZOMBIE;
            } else {
                return ThreadReference.THREAD_STATUS_NOT_STARTED;
            }
        } else {
            if ((state & JVMTI_THREAD_STATE_SLEEPING) != 0) {
                return ThreadReference.THREAD_STATUS_SLEEPING;
            } else if ((state & JVMTI_THREAD_STATE_BLOCKED_ON_MONITOR_ENTER) != 0) {
                return ThreadReference.THREAD_STATUS_MONITOR;
            } else if ((state & JVMTI_THREAD_STATE_WAITING) != 0) {
                return ThreadReference.THREAD_STATUS_WAIT;
            } else if ((state & JVMTI_THREAD_STATE_RUNNABLE) != 0) {
                return ThreadReference.THREAD_STATUS_RUNNING;
            }
        }
        return ThreadReference.THREAD_STATUS_UNKNOWN;
    }