History log of /netbsd-src/lib/libpthread/pthread_int.h (Results 76 – 100 of 111)
Revision Date Author Comments
# d333bb5f 06-Feb-2007 ad <ad@NetBSD.org>

Build without sys/sa.h present.


# ded26025 24-Dec-2006 ad <ad@NetBSD.org>

Fix bugs with and improve upon previous.


# 1ac6a89b 23-Dec-2006 ad <ad@NetBSD.org>

Conditionalised support for 1:1 threads. Needs associated kernel changes
and more work to be useful.


# 41cc94b9 03-Oct-2006 yamt <yamt@NetBSD.org>

remove unused IDLESPINS.


# 0e675542 19-Oct-2005 chs <chs@NetBSD.org>

starting the pthread library (ie. calling pthread__start()) before
any threads are created turned out to be not such a good idea.
there are stronger requirements on what has to work in a forked child

starting the pthread library (ie. calling pthread__start()) before
any threads are created turned out to be not such a good idea.
there are stronger requirements on what has to work in a forked child
while a process is still single-threaded. so take all that stuff
back out and fix the problems with single-threaded programs that
are linked with libpthread differently, by checking if the library
has been started and doing completely different stuff if it hasn't been:
- for pthread_rwlock_timedrdlock(), just fail with EDEADLK immediately.
- for sem_wait(), the only thing that can unlock the semaphore is a
signal handler, so use sigsuspend() to wait for a signal.
- for pthread_mutex_lock_slow(), just go into an infinite loop
waiting for signals.

I also noticed that there's a "sem2" test that has never worked in its
single-threaded form. the problem there is that a signal handler tries
to take a sem_t interlock which is already held when the signal is received.
fix this too, by adding a single-threaded case for sig_trywait() that
blocks signals instead of using the userland interlock.

show more ...


# 2415c56e 16-Oct-2005 chs <chs@NetBSD.org>

in pthread_mutex_lock_slow(), pthread_rwlock_timedrdlock() and sem_wait(),
call pthread__start() if it hasn't already been called. this avoids
an internal assertion from the library if these routine

in pthread_mutex_lock_slow(), pthread_rwlock_timedrdlock() and sem_wait(),
call pthread__start() if it hasn't already been called. this avoids
an internal assertion from the library if these routines are used
before any threads are created and they need to sleep.
fixes PR 20256, PR 24241, PR 25722, PR 26096.

show more ...


# 916de878 26-Feb-2005 nathanw <nathanw@NetBSD.org>

Keep the kernel updated with signal action signal masks (act.sa_mask) until
threads are started, since before that the traditional signal invocation
method will be used. Fixes regress/lib/libpthread/

Keep the kernel updated with signal action signal masks (act.sa_mask) until
threads are started, since before that the traditional signal invocation
method will be used. Fixes regress/lib/libpthread/sigmask2.

show more ...


# 2b4ccae3 12-Oct-2004 mycroft <mycroft@NetBSD.org>

Remove pt_blockuc. If the debugger attempts to muck with the state of a
blocked thread, return an error; this should be done through ptrace(2).


# 3f53b40c 24-Aug-2004 nathanw <nathanw@NetBSD.org>

Local whitespace police.


# 15c2d914 24-Aug-2004 nathanw <nathanw@NetBSD.org>

Add a flag that indicates that a thread took a signal.


# 0e6c93b9 25-Jun-2004 drochner <drochner@NetBSD.org>

const'ify the arguments to pthread__assertfunc and _errorfunc;
needed because the __func__ pseudo-var is strictly "const*" in gcc-3.4


# f2f10664 14-Mar-2004 cl <cl@NetBSD.org>

add libpthread part of concurrency support for SA on MP systems
- enable concurrency according to environment variable PTHREAD_CONCURRENCY
- add idle VP wakeup if there are additional jobs and idle V

add libpthread part of concurrency support for SA on MP systems
- enable concurrency according to environment variable PTHREAD_CONCURRENCY
- add idle VP wakeup if there are additional jobs and idle VPs
- make reidlequeue per VP
- enable spinning for locks
- fix race condition in alarm processing
- fix race condition in mutex locking
- make debugging output line buffered and add VP prefix to debug lines

show more ...


# 0a6afcc7 02-Feb-2004 nathanw <nathanw@NetBSD.org>

Rename pt_stacksize, pt_stacksize_lg, and pt_stackmask to pthread_*. External
symbols can't start with pt_, as that is in the application namespace.


# 33622a59 02-Jan-2004 cl <cl@NetBSD.org>

userland part of no-syscall upcall stack return

- add pt_stackinfo to struct __pthread_st
- add pthread__stackinfo_offset returning the offset from ss_sp to
pt_stackinfo
- pass stackinfo_offset to

userland part of no-syscall upcall stack return

- add pt_stackinfo to struct __pthread_st
- add pthread__stackinfo_offset returning the offset from ss_sp to
pt_stackinfo
- pass stackinfo_offset to sa_register and set SA_FLAG_STACKINFO to
make the kernel use it
- call pthread__sa_recycle in pthread__resolve_locks; g/c recycleq and
pthread__recycle_bulk
- return stack in pthread__sa_recycle by incrementing sasi_stackgen
- make pthread__sa_recycle debugging output formatting conditional on
pthread__debug_newline

show more ...


# 82b6b2db 31-Dec-2003 cl <cl@NetBSD.org>

Handle block/unblock for threads in critical section without
sa_unblockyield.

XXX g/c sa_unblockyield in kernel later


# 2c9b7b1e 27-Nov-2003 cl <cl@NetBSD.org>

Set default stack size to the current limit on the stack size as set
with the shell's command to change limits. Make the PTHREAD_STACKSIZE
environment variable override the default stack size. The

Set default stack size to the current limit on the stack size as set
with the shell's command to change limits. Make the PTHREAD_STACKSIZE
environment variable override the default stack size. The old fixed
stack size behaviour can be enable with PT_FIXEDSTACKSIZE_LG when building
libpthread.

show more ...


# 5077d05f 25-Nov-2003 christos <christos@NetBSD.org>

GC sigcontext<->mcontext code and __HAVE_SIGINFO. All supported archs have
siginfo implemented.


# 38b1c6f4 09-Nov-2003 christos <christos@NetBSD.org>

Add:

int pthread_attr_setcreatesuspend_np(pthread_attr_t *);
int pthread_suspend_np(pthread_t);
int pthread_resume_np(pthread_t);

needed for java. Approved and fixed by cl.


# 138df80b 12-Sep-2003 christos <christos@NetBSD.org>

convert to use siginfo/ucontext style of signal delivery instead of
sigcontext. Approved by nathanw.


# 89d0cfd2 07-Sep-2003 cl <cl@NetBSD.org>

Remove possible race condition in upcall recycling.


# 329747fb 21-Jul-2003 nathanw <nathanw@NetBSD.org>

Add a lock on the pt_flags field.


# ec2c1698 18-Jul-2003 nathanw <nathanw@NetBSD.org>

pthread.c was getting a bit unwieldly. Move pthread_attr stuff out
into a new file, and put the shared private structure definition in
pthread_int.h.


# deb18e9d 17-Jul-2003 nathanw <nathanw@NetBSD.org>

Adapt to internal structure name changes.

Add a couple of useful flags and symbols.


# 2534cd2b 26-Jun-2003 nathanw <nathanw@NetBSD.org>

Introduce a new pointer, pt_trapuc, that stores thread context captured
by the kernel. Separating this from pt_uc makes it possible to avoid a race
condition in pt_uc management near the STACK_SWITCH

Introduce a new pointer, pt_trapuc, that stores thread context captured
by the kernel. Separating this from pt_uc makes it possible to avoid a race
condition in pt_uc management near the STACK_SWITCH part of pthread__switch()
and pthread__locked_switch().

Remove pt_sleepuc pointer, which was made obsolete by the previous round of
UC juggling but still present in the assembler files.

show more ...


# 877f8985 06-Jun-2003 nathanw <nathanw@NetBSD.org>

Tiny bit of infrastructure for ABI-supported thread-ID storage.


12345