gettid returns the thread ID of the current process. This is equal to the
process ID (as returned by getpid(2)), unless the process is part of a
thread group (created by specifying the CLONE_THREAD flag to the
clone(2) system call). All processes in the same thread group have the
same PID, but each one has a unique TID.