OpenBSD CVS

CVS log for src/lib/librthread/rthread_np.c


[BACK] Up to [local] / src / lib / librthread

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.24 / (download) - annotate - [select for diffs], Sat Jan 7 05:24:58 2023 UTC (17 months ago) by guenther
Branch: MAIN
CVS Tags: OPENBSD_7_5_BASE, OPENBSD_7_5, OPENBSD_7_4_BASE, OPENBSD_7_4, OPENBSD_7_3_BASE, OPENBSD_7_3, HEAD
Changes since 1.23: +13 -3 lines
Diff to previous 1.23 (colored)

Add {get,set}thrname(2) for putting thread names in the kernel and
exposed in a new field returned by sysctl(KERN_PROC).  Update
pthread_{get,set}_name_np(3) to use the syscalls.  Show them, when
set, in ps -H and top -H output.

libc and libpthread minor bumps

ok mpi@, mvs@, deraadt@

Revision 1.23 / (download) - annotate - [select for diffs], Fri Sep 17 15:20:21 2021 UTC (2 years, 8 months ago) by deraadt
Branch: MAIN
CVS Tags: OPENBSD_7_2_BASE, OPENBSD_7_2, OPENBSD_7_1_BASE, OPENBSD_7_1, OPENBSD_7_0_BASE, OPENBSD_7_0
Changes since 1.22: +2 -2 lines
Diff to previous 1.22 (colored)

these files do not need sys/param.h

Revision 1.22 / (download) - annotate - [select for diffs], Mon Oct 12 22:08:34 2020 UTC (3 years, 7 months ago) by deraadt
Branch: MAIN
CVS Tags: OPENBSD_6_9_BASE, OPENBSD_6_9
Changes since 1.21: +2 -4 lines
Diff to previous 1.21 (colored)

make fixed-sized fixed-value mib[] arrays be const
ok guenther tb millert

Revision 1.21 / (download) - annotate - [select for diffs], Mon Feb 4 17:18:08 2019 UTC (5 years, 4 months ago) by tedu
Branch: MAIN
CVS Tags: OPENBSD_6_8_BASE, OPENBSD_6_8, OPENBSD_6_7_BASE, OPENBSD_6_7, OPENBSD_6_6_BASE, OPENBSD_6_6, OPENBSD_6_5_BASE, OPENBSD_6_5
Changes since 1.20: +7 -1 lines
Diff to previous 1.20 (colored)

add a pthread_get_name_np to match pthread_set_name_np.
could be useful in ports.
initial diff by David Carlier some time ago.
ok jca

Revision 1.20 / (download) - annotate - [select for diffs], Tue Sep 5 02:40:54 2017 UTC (6 years, 9 months ago) by guenther
Branch: MAIN
CVS Tags: OPENBSD_6_4_BASE, OPENBSD_6_4, OPENBSD_6_3_BASE, OPENBSD_6_3, OPENBSD_6_2_BASE, OPENBSD_6_2
Changes since 1.19: +4 -1 lines
Diff to previous 1.19 (colored)

Move mutex, condvar, and thread-specific data routes, pthread_once, and
pthread_exit from libpthread to libc, along with low-level bits to
support them.  Major bump to both libc and libpthread.

Requested by libressl team.  Ports testing by naddy@
ok kettenis@

Revision 1.19 / (download) - annotate - [select for diffs], Sat May 7 19:05:22 2016 UTC (8 years, 1 month ago) by guenther
Branch: MAIN
CVS Tags: OPENBSD_6_1_BASE, OPENBSD_6_1, OPENBSD_6_0_BASE, OPENBSD_6_0
Changes since 1.18: +6 -7 lines
Diff to previous 1.18 (colored)

Use a Thread Information Block in both single and multi-threaded programs.
This stores errno, the cancelation flags, and related bits for each thread
and is allocated by ld.so or libc.a.  This is an ABI break from 5.9-stable!

Make libpthread dlopen'able by moving the cancelation wrappers into libc
and doing locking and fork/errno handling via callbacks that libpthread
registers when it first initializes.  'errno' *must* be declared via
<errno.h> now!

Clean up libpthread's symbol exports like libc.

On powerpc, offset the TIB/TCB/TLS data from the register per the ELF spec.

Testing by various, particularly sthen@ and patrick@
ok kettenis@

Revision 1.18 / (download) - annotate - [select for diffs], Sat Apr 2 19:00:51 2016 UTC (8 years, 2 months ago) by guenther
Branch: MAIN
Changes since 1.17: +3 -1 lines
Diff to previous 1.17 (colored)

Eliminate the need to explicitly invoke syscalls via their _thread_sys_*
aliases by using a macro REDIRECT_SYSCALL() to map the symbols.  Apply
that to getthrid(), sysctl(), and issetugid() as well.

ok mpi@ beck@

Revision 1.17 / (download) - annotate - [select for diffs], Sat Jan 24 10:35:33 2015 UTC (9 years, 4 months ago) by kettenis
Branch: MAIN
CVS Tags: OPENBSD_5_9_BASE, OPENBSD_5_9, OPENBSD_5_8_BASE, OPENBSD_5_8, OPENBSD_5_7_BASE, OPENBSD_5_7
Changes since 1.16: +2 -1 lines
Diff to previous 1.16 (colored)

Add back <sys/param.h>; it's needed for MACHINE_STACK_GROWS_UP.

ok millert@, tobiasu@

Revision 1.16 / (download) - annotate - [select for diffs], Fri Jan 16 16:48:52 2015 UTC (9 years, 4 months ago) by deraadt
Branch: MAIN
Changes since 1.15: +1 -2 lines
Diff to previous 1.15 (colored)

Move to the <limits.h> universe.
review by millert, binary checking process with doug, concept with guenther

Revision 1.15 / (download) - annotate - [select for diffs], Mon Dec 8 18:15:46 2014 UTC (9 years, 6 months ago) by tedu
Branch: MAIN
Changes since 1.14: +3 -2 lines
Diff to previous 1.14 (colored)

avoid void arithmetic. from david carlier

Revision 1.14 / (download) - annotate - [select for diffs], Sat Aug 9 03:29:35 2014 UTC (9 years, 10 months ago) by guenther
Branch: MAIN
Changes since 1.13: +2 -2 lines
Diff to previous 1.13 (colored)

Only need <stdint.h> and not <inttypes.h> here

Revision 1.13 / (download) - annotate - [select for diffs], Tue Jul 8 17:19:22 2014 UTC (9 years, 11 months ago) by deraadt
Branch: MAIN
CVS Tags: OPENBSD_5_6_BASE, OPENBSD_5_6
Changes since 1.12: +1 -2 lines
Diff to previous 1.12 (colored)

decouple struct uvmexp into a new file, so that uvm_extern.h and sysctl.h
don't need to be married.
ok guenther miod beck jsing kettenis

Revision 1.12 / (download) - annotate - [select for diffs], Tue Jul 1 03:32:18 2014 UTC (9 years, 11 months ago) by guenther
Branch: MAIN
Changes since 1.11: +2 -2 lines
Diff to previous 1.11 (colored)

Use a flag on the pthread_t to indicate that the thread's stack was
allocated by the kernel's execve bits.

ok matthew@

Revision 1.11 / (download) - annotate - [select for diffs], Fri May 2 21:58:51 2014 UTC (10 years, 1 month ago) by kurt
Branch: MAIN
Changes since 1.10: +11 -4 lines
Diff to previous 1.10 (colored)

- Adjust pthread_stackseg_np to return the page aligned addressable stack
range. okay kettenis@, guenther@, deraadt@

Revision 1.10 / (download) - annotate - [select for diffs], Fri Nov 29 16:27:40 2013 UTC (10 years, 6 months ago) by guenther
Branch: MAIN
CVS Tags: OPENBSD_5_5_BASE, OPENBSD_5_5
Changes since 1.9: +3 -2 lines
Diff to previous 1.9 (colored)

Don't try to reuse _initial_thread in the fork() wrapper, as the
thread's existing handle must continue to be valid and it didn't
fully 'change' the thread handle anyway.  For pthread_main_np(),
use a new flag, THREAD_ORIGINAL, to indicate that the flagged thread
is the original thread for *this* process.

Fixes some ConsoleKit failures according to aja@

Revision 1.9 / (download) - annotate - [select for diffs], Wed Nov 13 16:56:17 2013 UTC (10 years, 6 months ago) by deraadt
Branch: MAIN
Changes since 1.8: +31 -18 lines
Diff to previous 1.8 (colored)

use sysctl vm.psstrings to calculate stack bounds, rather than USRSTACK.
long discussions with guenther, kurt, kettenis etc etc etc

Revision 1.8 / (download) - annotate - [select for diffs], Sun Mar 31 22:43:53 2013 UTC (11 years, 2 months ago) by kurt
Branch: MAIN
CVS Tags: OPENBSD_5_4_BASE, OPENBSD_5_4
Changes since 1.7: +4 -7 lines
Diff to previous 1.7 (colored)

- Don't include guard pages in the stack size.
  From Christian Schulte (cs at schulte.it)
- Use stack->sp instead of recalculating it. From guenther@
okay guenther@

Revision 1.7 / (download) - annotate - [select for diffs], Sat Feb 18 21:12:09 2012 UTC (12 years, 3 months ago) by guenther
Branch: MAIN
CVS Tags: OPENBSD_5_3_BASE, OPENBSD_5_3, OPENBSD_5_2_BASE, OPENBSD_5_2
Changes since 1.6: +7 -10 lines
Diff to previous 1.6 (colored)

Fix the handling of the stackaddr, stacksize, and guardsize attributes:
don't try to merge values, round the sizes separately, and don't try to
unmap application-supplied stacks.
Copy from uthread the caching of default-sized stacks.
Have pthread_attr_init() and pthread_create() get the default attributes
from staticly allocated pthread_attr_t.
Cache the pagesize in _rthread_init() and provide a macro for rounding to it

based on suggestions from kettenis@ and tedu@, ok kettenis@

Revision 1.6 / (download) - annotate - [select for diffs], Wed Dec 28 04:59:31 2011 UTC (12 years, 5 months ago) by guenther
Branch: MAIN
CVS Tags: OPENBSD_5_1_BASE, OPENBSD_5_1
Changes since 1.5: +2 -2 lines
Diff to previous 1.5 (colored)

pthread_self() may be much cheaper and never more expensive than getthrid()
so prefer it for identifying the current thread

Revision 1.5 / (download) - annotate - [select for diffs], Sun Jul 8 01:53:46 2007 UTC (16 years, 11 months ago) by kurt
Branch: MAIN
CVS Tags: OPENBSD_5_0_BASE, OPENBSD_5_0, OPENBSD_4_9_BASE, OPENBSD_4_9, OPENBSD_4_8_BASE, OPENBSD_4_8, OPENBSD_4_7_BASE, OPENBSD_4_7, OPENBSD_4_6_BASE, OPENBSD_4_6, OPENBSD_4_5_BASE, OPENBSD_4_5, OPENBSD_4_4_BASE, OPENBSD_4_4, OPENBSD_4_3_BASE, OPENBSD_4_3, OPENBSD_4_2_BASE, OPENBSD_4_2
Changes since 1.4: +21 -16 lines
Diff to previous 1.4 (colored)

Report the correct stack size and top for the primordial thread in
pthread_stackseg_np(). With input and okay marc@

Revision 1.4 / (download) - annotate - [select for diffs], Wed Apr 12 13:34:12 2006 UTC (18 years, 2 months ago) by henning
Branch: MAIN
CVS Tags: OPENBSD_4_1_BASE, OPENBSD_4_1, OPENBSD_4_0_BASE, OPENBSD_4_0
Changes since 1.3: +2 -2 lines
Diff to previous 1.3 (colored)

make rthreads compile again
pthreads header changed, char * -> const char *

Revision 1.3 / (download) - annotate - [select for diffs], Sun Jan 1 18:53:25 2006 UTC (18 years, 5 months ago) by otto
Branch: MAIN
CVS Tags: OPENBSD_3_9_BASE, OPENBSD_3_9
Changes since 1.2: +2 -7 lines
Diff to previous 1.2 (colored)

Nicer implementation of pthread_main_np(), which avoids the spinlock.
ok tedu@ marc@

Revision 1.2 / (download) - annotate - [select for diffs], Fri Dec 30 20:35:11 2005 UTC (18 years, 5 months ago) by otto
Branch: MAIN
Changes since 1.1: +1 -3 lines
Diff to previous 1.1 (colored)

use queue.h macros for thread house keeping; make some vars non-static
and fix a bug in thread creation error path. ok tedu@

Revision 1.1 / (download) - annotate - [select for diffs], Thu Dec 29 20:34:22 2005 UTC (18 years, 5 months ago) by otto
Branch: MAIN

Put the existing _np functions into separate file; introduce
pthread_stackseg_np(), from existing pthread lib.
discussed with tedu@ ok marc@

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.