mirror of https://github.com/mkerrisk/man-pages
80 lines
2.6 KiB
Groff
80 lines
2.6 KiB
Groff
.\" Copyright (c) 2008 Linux Foundation, written by Michael Kerrisk
|
|
.\" <mtk.manpages@gmail.com>
|
|
.\"
|
|
.\" %%%LICENSE_START(VERBATIM)
|
|
.\" 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.
|
|
.\" %%%LICENSE_END
|
|
.\"
|
|
.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.
|
|
.fi
|
|
.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
|
|
is nonportable and can lead to unspecified results.
|
|
|
|
Thread IDs are guaranteed to be unique only 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)
|