History log of /netbsd-src/lib/libpthread/pthread.c (Results 126 – 150 of 184)
Revision Date Author Comments
# 4cdc2ed8 15-Feb-2007 yamt <yamt@NetBSD.org>

fix a race between pthread_exit and pthread_create.
inefficient, but better than crashing.


# 3247035d 09-Feb-2007 ad <ad@NetBSD.org>

Cast the return value of _lwp_unpark_all(), just in case.


# 858097f9 31-Jan-2007 christos <christos@NetBSD.org>

use __func__ instead of __FUNCTION__ which is a gcc extension.


# 7630e387 20-Jan-2007 ad <ad@NetBSD.org>

pthread_create(): clear newthread->pt_sleeponq before calling _lwp_create().


# 3ca3d0b1 20-Jan-2007 christos <christos@NetBSD.org>

add a missing volatile.


# b8daad98 16-Jan-2007 ad <ad@NetBSD.org>

Fix a race between pthread_exit() and pthread_join().


# efb1fc06 16-Jan-2007 ad <ad@NetBSD.org>

Fix a race between pthread_create() and pthread_exit() in the 1:1 case.


# 39aa27f5 16-Jan-2007 ad <ad@NetBSD.org>

Pass in the 'hint' argument when parking/unparking LWPs.


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

Fix bugs with and improve upon previous.


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

Add another comment.


# 10058f19 23-Dec-2006 ad <ad@NetBSD.org>

Add a comment.


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

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


# f782e995 24-Apr-2006 drochner <drochner@NetBSD.org>

There is no point in using the internal sigprocmask() to initialize
the process' signal mask -- this ends up in a no-op.
Use the system call directly instead.
(This might be done in pthread_sig.c, bu

There is no point in using the internal sigprocmask() to initialize
the process' signal mask -- this ends up in a no-op.
Use the system call directly instead.
(This might be done in pthread_sig.c, but for now I wanted a simple
patch which is easily tested and pulled up.)

show more ...


# 9f9e6a32 12-Feb-2006 yamt <yamt@NetBSD.org>

- do PTHREAD_MLOCK_KLUDGE in pthread__stackid_setup, rather than callers,
so that the main thread is not different from others.
as a side effect, fix memory leak in pthread_create on error.
- mak

- do PTHREAD_MLOCK_KLUDGE in pthread__stackid_setup, rather than callers,
so that the main thread is not different from others.
as a side effect, fix memory leak in pthread_create on error.
- make pthread__stackid_setup return a error rather than calling err(2).

show more ...


# 3ad23207 19-Oct-2005 chs <chs@NetBSD.org>

if mlock() fails in pthread_create(), return EAGAIN instead of
failing an assertion.


# 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 ...


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

in pthread_kill() and pthread_suspend_np(), return without doing anything
if the target thread is a zombie.

in all the functions that didn't do so already, verify a pthread_t before
dereferencing it

in pthread_kill() and pthread_suspend_np(), return without doing anything
if the target thread is a zombie.

in all the functions that didn't do so already, verify a pthread_t before
dereferencing it (under #ifdef ERRORCHECK, since these checks are not
mandated by the standard).

clean up some debugging stuff.

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 ...


# 9493e4bf 01-Jul-2005 yamt <yamt@NetBSD.org>

make this compile without PTHREAD_MLOCK_KLUDGE.


# 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 ...


# b35aef8d 10-Feb-2005 christos <christos@NetBSD.org>

Default back pthread__concurrency to 1 until we fix the regression test
related to pthread_kill().


# 3a610280 10-Feb-2005 christos <christos@NetBSD.org>

If $PTHREAD_CONCURRENCY is not set, set it to ncpu


# cca94056 03-Feb-2005 christos <christos@NetBSD.org>

Add charles' mlock fixes, protected with PTHREAD_MLOCK_KLUDGE and enabled
by default, until we come up with a real fix.


# 75a94788 06-Jan-2005 mycroft <mycroft@NetBSD.org>

Add some additional assertions and debugging printf()s.


# 6b2b9c62 12-Aug-2004 yamt <yamt@NetBSD.org>

- fix pthread_detach with an already exit'ed thread.
namely, put the thread to deadqueue rather than just leaking it.
- fix a race between pthread_detach/join and pthread_exit,
which also causes

- fix pthread_detach with an already exit'ed thread.
namely, put the thread to deadqueue rather than just leaking it.
- fix a race between pthread_detach/join and pthread_exit,
which also causes dead thread leaks.

show more ...


12345678