Top


定義場所(file name)

hotspot/src/os/linux/vm/os_linux.cpp

説明(description)

// pid_t gettid()
//
// Returns the kernel thread id of the currently running thread. Kernel
// thread id is used to access /proc.
//
// (Note that getpid() on LinuxThreads returns kernel thread id too; but
// on NPTL, it returns the same pid for all threads, as required by POSIX.)
//

名前(function name)

pid_t os::Linux::gettid() {

本体部(body)

  {- -------------------------------------------
  (1) gettid() システムコールで thread id を取得し, リターンする.
      (ただし, LinuxThreads の場合は -1 が返されるだけなので, 
       この場合は getpid() での取得にフォールバックさせる.)

      (なお, gettid() は glibc がラッパーを用意しておらず直接は呼べないので
       syscall() 経由での呼び出しになっている.)
      ---------------------------------------- -}

      int rslt = syscall(SYS_gettid);
      if (rslt == -1) {
         // old kernel, no NPTL support
         return getpid();
      } else {
         return (pid_t)rslt;
      }
    }

This document is available under the GNU GENERAL PUBLIC LICENSE Version 2.