Skip to content

Commit cbcba41

Browse files
author
guenther
committed
Declare and document getthrid()
indirectly prodded by krw@
1 parent eb4e8c1 commit cbcba41

File tree

4 files changed

+85
-5
lines changed

4 files changed

+85
-5
lines changed

include/unistd.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/* $OpenBSD: unistd.h,v 1.90 2014/08/31 01:42:36 guenther Exp $ */
1+
/* $OpenBSD: unistd.h,v 1.91 2014/08/31 04:02:08 guenther Exp $ */
22
/* $NetBSD: unistd.h,v 1.26.4.1 1996/05/28 02:31:51 mrg Exp $ */
33

44
/*-
@@ -504,6 +504,7 @@ int getgrouplist(const char *, gid_t, gid_t *, int *);
504504
mode_t getmode(const void *, mode_t);
505505
int getresgid(gid_t *, gid_t *, gid_t *);
506506
int getresuid(uid_t *, uid_t *, uid_t *);
507+
pid_t getthrid(void);
507508
char *getusershell(void);
508509
int initgroups(const char *, gid_t);
509510
int iruserok(u_int32_t, int, const char *, const char *);

lib/libc/sys/Makefile.inc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# $OpenBSD: Makefile.inc,v 1.121 2014/08/31 01:42:36 guenther Exp $
1+
# $OpenBSD: Makefile.inc,v 1.122 2014/08/31 04:02:08 guenther Exp $
22
# $NetBSD: Makefile.inc,v 1.35 1995/10/16 23:49:07 jtc Exp $
33
# @(#)Makefile.inc 8.1 (Berkeley) 6/17/93
44

@@ -205,7 +205,7 @@ MAN+= __get_tcb.2 __thrsigdivert.2 __thrsleep.2 _exit.2 accept.2 \
205205
getfh.2 getfsstat.2 getgid.2 getgroups.2 getitimer.2 getlogin.2 \
206206
getpeername.2 getpgrp.2 getpid.2 getpriority.2 getrlimit.2 \
207207
getrtable.2 getrusage.2 getsid.2 getsockname.2 getsockopt.2 \
208-
gettimeofday.2 getuid.2 intro.2 ioctl.2 issetugid.2 \
208+
getthrid.2 gettimeofday.2 getuid.2 intro.2 ioctl.2 issetugid.2 \
209209
kill.2 kqueue.2 ktrace.2 link.2 listen.2 lseek.2 madvise.2 \
210210
mincore.2 minherit.2 mkdir.2 mkfifo.2 mknod.2 mlock.2 \
211211
mlockall.2 mmap.2 mount.2 mprotect.2 mquery.2 msgctl.2 \

lib/libc/sys/getthrid.2

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
.\" $OpenBSD: getthrid.2,v 1.1 2014/08/31 04:02:08 guenther Exp $
2+
.\" $NetBSD: getpid.2,v 1.5 1995/02/27 12:33:12 cgd Exp $
3+
.\"
4+
.\" Copyright (c) 1980, 1991, 1993
5+
.\" The Regents of the University of California. All rights reserved.
6+
.\"
7+
.\" Redistribution and use in source and binary forms, with or without
8+
.\" modification, are permitted provided that the following conditions
9+
.\" are met:
10+
.\" 1. Redistributions of source code must retain the above copyright
11+
.\" notice, this list of conditions and the following disclaimer.
12+
.\" 2. Redistributions in binary form must reproduce the above copyright
13+
.\" notice, this list of conditions and the following disclaimer in the
14+
.\" documentation and/or other materials provided with the distribution.
15+
.\" 3. Neither the name of the University nor the names of its contributors
16+
.\" may be used to endorse or promote products derived from this software
17+
.\" without specific prior written permission.
18+
.\"
19+
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
20+
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21+
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22+
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
23+
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24+
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
25+
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
26+
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
27+
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
28+
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
29+
.\" SUCH DAMAGE.
30+
.\"
31+
.\" @(#)getpid.2 8.1 (Berkeley) 6/4/93
32+
.\"
33+
.Dd $Mdocdate: August 31 2014 $
34+
.Dt GETTHRID 2
35+
.Os
36+
.Sh NAME
37+
.Nm getthrid
38+
.Nd get thread identifier
39+
.Sh SYNOPSIS
40+
.Fd #include <unistd.h>
41+
.Ft pid_t
42+
.Fn getthrid void
43+
.Sh DESCRIPTION
44+
.Nm
45+
returns the thread ID of the calling thread.
46+
This is used in the implementation of the thread library
47+
.Pq Fl lpthread
48+
and can appear in the output of system utilities such as
49+
.Xr ps
50+
and
51+
.Xr kdump .
52+
.Pp
53+
Thread IDs are not a stable interface and should not be used directly
54+
by applications except for correlation with system utility output.
55+
Applications should use the
56+
.Vt pthread_t
57+
values from
58+
.Xr pthread_self
59+
and
60+
.Xr pthread_create
61+
to identify threads within the process itself.
62+
.Sh RETURN VALUES
63+
This function is always successful, and no return value is
64+
reserved to indicate an error.
65+
.Sh SEE ALSO
66+
.Xr getpid 2 ,
67+
.Xr __tfork 2 ,
68+
.Xr pthread_self 3 ,
69+
.Xr pthread_create 3
70+
.Sh STANDARDS
71+
The
72+
.Nm
73+
syscall is specific to
74+
.Ox
75+
and should not be used in portable applications.
76+
.Sh HISTORY
77+
The
78+
.Nm
79+
syscall appeared in
80+
.Ox 3.9 .

lib/librthread/rthread.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/* $OpenBSD: rthread.h,v 1.49 2014/07/01 03:32:18 guenther Exp $ */
1+
/* $OpenBSD: rthread.h,v 1.50 2014/08/31 04:02:08 guenther Exp $ */
22
/*
33
* Copyright (c) 2004,2005 Ted Unangst <[email protected]>
44
* All Rights Reserved.
@@ -235,7 +235,6 @@ void _leave_delayed_cancel(pthread_t, int);
235235
void _thread_dump_info(void);
236236

237237
/* syscalls */
238-
int getthrid(void);
239238
void __threxit(pid_t *);
240239
int __thrsleep(const volatile void *, clockid_t, const struct timespec *,
241240
volatile void *, const int *);

0 commit comments

Comments
 (0)