2008-10-25 02:20:02 +00:00
|
|
|
.\" Copyright (c) 2008 Linux Foundation, written by Michael Kerrisk
|
|
|
|
.\" <mtk.manpages@gmail.com>
|
|
|
|
.\"
|
|
|
|
.\" Permission is granted to make and distribute verbatim copies of this
|
|
|
|
.\" manual provided the copyright notice and this permission notice are
|
|
|
|
.\" preserved on all copies.
|
|
|
|
.\"
|
|
|
|
.\" Permission is granted to copy and distribute modified versions of this
|
|
|
|
.\" manual under the conditions for verbatim copying, provided that the
|
|
|
|
.\" entire resulting derived work is distributed under the terms of a
|
|
|
|
.\" permission notice identical to this one.
|
|
|
|
.\"
|
|
|
|
.\" Since the Linux kernel and libraries are constantly changing, this
|
|
|
|
.\" manual page may be incorrect or out-of-date. The author(s) assume no
|
|
|
|
.\" responsibility for errors or omissions, or for damages resulting from
|
|
|
|
.\" the use of the information contained herein. The author(s) may not
|
|
|
|
.\" have taken the same level of care in the production of this manual,
|
|
|
|
.\" which is licensed free of charge, as they might when working
|
|
|
|
.\" professionally.
|
|
|
|
.\"
|
|
|
|
.\" Formatted or processed versions of this manual, if unaccompanied by
|
|
|
|
.\" the source, must acknowledge the copyright and authors of this work.
|
|
|
|
.\"
|
|
|
|
.TH PTHREAD_SELF 3 2008-10-24 "Linux" "Linux Programmer's Manual"
|
|
|
|
.SH NAME
|
|
|
|
pthread_self \- obtain ID of the calling thread
|
|
|
|
.SH SYNOPSIS
|
|
|
|
.nf
|
|
|
|
.B #include <pthread.h>
|
|
|
|
|
|
|
|
.B pthread_t pthread_self(void);
|
|
|
|
.sp
|
|
|
|
Compile and link with \fI\-pthread\fP.
|
|
|
|
.SH DESCRIPTION
|
|
|
|
The
|
|
|
|
.BR pthread_self ()
|
|
|
|
function returns the ID of the calling thread.
|
|
|
|
This is the same value that is returned in
|
|
|
|
.IR *thread
|
|
|
|
in the
|
|
|
|
.BR pthread_create (3)
|
|
|
|
call that created this thread.
|
|
|
|
.SH RETURN VALUE
|
|
|
|
This function always succeeds, returning the calling thread's ID.
|
|
|
|
.SH ERRORS
|
|
|
|
This function always succeeds.
|
|
|
|
.SH CONFORMING TO
|
|
|
|
POSIX.1-2001.
|
|
|
|
.SH NOTES
|
|
|
|
POSIX.1 allows an implementation wide freedom in choosing
|
|
|
|
the type used to represent a thread ID;
|
|
|
|
for example, representation using either an arithmetic type or
|
|
|
|
a structure is permitted.
|
|
|
|
Therefore, variables of type
|
|
|
|
.I pthread_t
|
|
|
|
can't portably be compared using the C equality operator (\fB==\fP);
|
|
|
|
use
|
|
|
|
.BR pthread_equal (3)
|
|
|
|
instead.
|
|
|
|
|
|
|
|
Thread identifiers should be considered opaque:
|
|
|
|
any attempt to use a thread ID other than in pthreads calls
|
execve.2, fallocate.2, futex.2, sched_rr_get_interval.2, select_tut.2, shmget.2, timer_getoverrun.2, times.2, pthread_attr_init.3, pthread_attr_setaffinity_np.3, pthread_cleanup_push_defer_np.3, pthread_getattr_np.3, pthread_self.3, pthread_setaffinity_np.3, pthread_tryjoin_np.3, sem_open.3, stdin.3, rtc.4, tty_ioctl.4, unix.7: Global fix: s/non-portable/nonportable/
The tendency in English, as prescribed in style guides like
Chicago MoS, is towards removing hyphens after prefixes
like "non-" etc.
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2010-01-16 16:46:09 +00:00
|
|
|
is nonportable and can lead to unspecified results.
|
2008-10-25 02:20:02 +00:00
|
|
|
|
|
|
|
Thread IDs are only guaranteed to be unique within a process.
|
|
|
|
A thread ID may be reused after a terminated thread has been joined,
|
|
|
|
or a detached thread has terminated.
|
|
|
|
|
|
|
|
The thread ID returned by
|
|
|
|
.BR pthread_self ()
|
|
|
|
is not the same thing as the kernel thread ID returned by a call to
|
|
|
|
.BR gettid (2).
|
|
|
|
.SH SEE ALSO
|
|
|
|
.BR pthread_create (3),
|
|
|
|
.BR pthread_equal (3),
|
|
|
|
.BR pthreads (7)
|