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