LSST Applications  21.0.0-147-g0e635eb1+1acddb5be5,22.0.0+052faf71bd,22.0.0+1ea9a8b2b2,22.0.0+6312710a6c,22.0.0+729191ecac,22.0.0+7589c3a021,22.0.0+9f079a9461,22.0.1-1-g7d6de66+b8044ec9de,22.0.1-1-g87000a6+536b1ee016,22.0.1-1-g8e32f31+6312710a6c,22.0.1-10-gd060f87+016f7cdc03,22.0.1-12-g9c3108e+df145f6f68,22.0.1-16-g314fa6d+c825727ab8,22.0.1-19-g93a5c75+d23f2fb6d8,22.0.1-19-gb93eaa13+aab3ef7709,22.0.1-2-g8ef0a89+b8044ec9de,22.0.1-2-g92698f7+9f079a9461,22.0.1-2-ga9b0f51+052faf71bd,22.0.1-2-gac51dbf+052faf71bd,22.0.1-2-gb66926d+6312710a6c,22.0.1-2-gcb770ba+09e3807989,22.0.1-20-g32debb5+b8044ec9de,22.0.1-23-gc2439a9a+fb0756638e,22.0.1-3-g496fd5d+09117f784f,22.0.1-3-g59f966b+1e6ba2c031,22.0.1-3-g849a1b8+f8b568069f,22.0.1-3-gaaec9c0+c5c846a8b1,22.0.1-32-g5ddfab5d3+60ce4897b0,22.0.1-4-g037fbe1+64e601228d,22.0.1-4-g8623105+b8044ec9de,22.0.1-5-g096abc9+d18c45d440,22.0.1-5-g15c806e+57f5c03693,22.0.1-7-gba73697+57f5c03693,master-g6e05de7fdc+c1283a92b8,master-g72cdda8301+729191ecac,w.2021.39
LSST Data Management Base Package
Classes | Functions
lsst::log::detail Namespace Reference

Classes

class  PyLogAppender
 This class defines special log4cxx appender which "appends" log messages to Python logging. More...
 
class  PyObjectPtr
 Smart pointer class for PyObject instances. More...
 

Functions

unsigned lwpID ()
 

Function Documentation

◆ lwpID()

unsigned lsst::log::detail::lwpID ( )

Definition at line 40 of file lwpID.cc.

40  {
41 
42 #if defined(__linux__)
43 
44  // On Linux have to do syscall
45  auto lwp = syscall(SYS_gettid);
46 
47 #elif defined(__APPLE__)
48 
49  // OSX has a special Pthreads function to find out PID
50  auto lwp = pthread_mach_thread_np(pthread_self());
51 
52 #else
53 
54  // On all other system just generate incremental number and call it LWP
55  static std::atomic<unsigned> threadNum(0);
56  thread_local static auto lwp = ++threadNum;
57 
58 #endif
59 
60  return static_cast<unsigned>(lwp);
61 }