#
568eb77e |
| 10-Apr-2022 |
riastradh <riastradh@NetBSD.org> |
pthread: Nix trailing whitespace.
|
#
7adb4107 |
| 12-Feb-2022 |
riastradh <riastradh@NetBSD.org> |
libpthread: Move namespacing include to top of .c files.
Stuff like libc's namespace.h, or atomic_op_namespace.h, which does namespacing tricks like `#define atomic_cas_uint _atomic_cas_uint', has t
libpthread: Move namespacing include to top of .c files.
Stuff like libc's namespace.h, or atomic_op_namespace.h, which does namespacing tricks like `#define atomic_cas_uint _atomic_cas_uint', has to go at the top of each .c file. If it goes in the middle, it might be too late to affect the declarations, and result in compile errors.
I tripped over this by including <sys/atomic.h> in mips <machine/lock.h>.
(Maybe we should create a new pthread_namespace.h file for the purpose, but this'll do for now.)
show more ...
|
#
71d484f9 |
| 21-Mar-2013 |
christos <christos@NetBSD.org> |
- Allow libpthread to be dlopened again, by providing libc stubs to libpthread. - Fail if the dlopened libpthread does pthread_create(). From manu@ - Discussed at length in the mailing lists; approve
- Allow libpthread to be dlopened again, by providing libc stubs to libpthread. - Fail if the dlopened libpthread does pthread_create(). From manu@ - Discussed at length in the mailing lists; approved by core@ - This was chosen as the least intrusive patch that will provide the necessary functionality. XXX: pullup to 6
show more ...
|
#
93af5b69 |
| 06-Mar-2013 |
yamt <yamt@NetBSD.org> |
add assertions
|
#
55f47ec3 |
| 21-Nov-2012 |
christos <christos@NetBSD.org> |
Replace the simple implementation of pthread_key_{create,destroy} and pthread_{g,s}etspecific functions, to one that invalidates values of keys in other threads when pthread_key_delete() is called. T
Replace the simple implementation of pthread_key_{create,destroy} and pthread_{g,s}etspecific functions, to one that invalidates values of keys in other threads when pthread_key_delete() is called. This fixes chromium, which expects pthread_key_delete() to do cleanup in all threads.
show more ...
|
#
426a7619 |
| 12-Sep-2012 |
matt <matt@NetBSD.org> |
Only copy the ucontext_t in pthread_setcontext if _UC_TLSBASE is set. Conditionalize the test on _UC_TLSBASE being defined.
|
#
bba80928 |
| 12-Sep-2012 |
manu <manu@NetBSD.org> |
setcontext() used to be incompatible with -lpthread since it affected the TLS pointer, therefore wrecking the pthread environement.
Some ports had _UC_TLSBASE flag or equivalent (_UC_UNIQUE on alpha
setcontext() used to be incompatible with -lpthread since it affected the TLS pointer, therefore wrecking the pthread environement.
Some ports had _UC_TLSBASE flag or equivalent (_UC_UNIQUE on alpha) that controlled whether setcontext() would change the TLS pointer. This change let libpthread override setcontext() with its own version that unsets _UC_TLSBASE, enabling safe usage of setcontext() with -lpthread.
We also have the following required changes here: - rename alpha's _UC_UNIQUE into _UC_TLSBASE - add _UC_TLSBASE definition in header file for all ports (powerpc, sh3, sparc and sparc64 lack the implementation for now) - introduce a libc stub that can be overriden for setcontext() - modify MD libcs swapcontext() implementations so that they use the setcontext() libc stub instead of doing a plain system call.
While we are there: - document various MD _UC_* flags in header file - add libc and libpthread tests for swapcontext() behavior (hopefully helpful to spot MD problems introduced with this change)
Future work: - Deciding whether kernel support or _UC_TLSBASE should be added for powerpc, sh3, sparc and sparc64 is left to portmasters sparc64
Approved by core@
show more ...
|
#
edbc7575 |
| 23-Jun-2008 |
ad <ad@NetBSD.org> |
pthread_curcpu_np: remove hack for pthread_dummy_lwpctl.
|
#
ce099b40 |
| 28-Apr-2008 |
martin <martin@NetBSD.org> |
Remove clause 3 and 4 from TNF licenses
|
#
783e2f6d |
| 22-Mar-2008 |
ad <ad@NetBSD.org> |
Back out previous. It seems to expose another bug in libpthread/libc, potentially errno being used before threading is up and running.
|
#
159f5543 |
| 21-Mar-2008 |
ad <ad@NetBSD.org> |
Move pthread__errno() into pthread_specific.c so it gets the "no stack frame" treatment.
|
#
6c924f05 |
| 08-Jan-2008 |
christos <christos@NetBSD.org> |
cast -1 to unsigned int.
|
#
48a1e4cf |
| 07-Jan-2008 |
yamt <yamt@NetBSD.org> |
pthread_curcpu_np: map LWPCTL_CPU_NONE to 0 so that this works in the case of _lwp_ctl failure.
|
#
37132d5d |
| 07-Dec-2007 |
ad <ad@NetBSD.org> |
Back out previous now that libc/libpthread are initialized first.
|
#
64ebe139 |
| 01-Dec-2007 |
ad <ad@NetBSD.org> |
Hack around ld.so initializing pthread users before libpthread/libc.
|
#
4084ca7f |
| 27-Nov-2007 |
ad <ad@NetBSD.org> |
Add thr_curcpu(), pthread_curcpu_np().
|
#
9202b10c |
| 13-Nov-2007 |
ad <ad@NetBSD.org> |
Cosmetic change.
|
#
b8833ff5 |
| 16-Aug-2007 |
ad <ad@NetBSD.org> |
- Reinitialize the absolute minimum when recycling user thread state. Chops another ~10% off create/join in a loop on i386. - Disable low level debugging as this is stable. Improves benchmarks ac
- Reinitialize the absolute minimum when recycling user thread state. Chops another ~10% off create/join in a loop on i386. - Disable low level debugging as this is stable. Improves benchmarks across the board by a small percentage. Uncontested mutex acquire and release in a loop becomes about 8% quicker. - Minor cleanup.
show more ...
|
#
bd9a18b7 |
| 13-Aug-2003 |
nathanw <nathanw@NetBSD.org> |
Split out pthread_{set,get}specific() into a separate file and arrange for that file to not be built with profiling. This makes it reasonable to use pthread_{set,get}specific() to implement thread-sa
Split out pthread_{set,get}specific() into a separate file and arrange for that file to not be built with profiling. This makes it reasonable to use pthread_{set,get}specific() to implement thread-safe profiline call counts.
show more ...
|
#
608b92c0 |
| 17-Jul-2003 |
nathanw <nathanw@NetBSD.org> |
Don't use PTHREAD_DESTRUCTOR_ITERATIONS; the constant is going away.
|
#
76907a43 |
| 15-May-2003 |
wiz <wiz@NetBSD.org> |
Fix typo in comment.
|
#
a06836c0 |
| 15-May-2003 |
nathanw <nathanw@NetBSD.org> |
Remove an unnecessary test in pthread_getspecific().
|
#
f043c0fb |
| 08-Mar-2003 |
lukem <lukem@NetBSD.org> |
add __RCSID()
|
#
ca0eaa6f |
| 15-Feb-2003 |
nathanw <nathanw@NetBSD.org> |
Remove unused #include <assert.h>
|
#
dc651e62 |
| 21-Jan-2003 |
nathanw <nathanw@NetBSD.org> |
Don't bother acquiring the tsd_lock and reading the destructor function if the corresponding TSD entry is empty.
Cuts down lock/unlock pairs for this operation from 256 to the number of active TSD e
Don't bother acquiring the tsd_lock and reading the destructor function if the corresponding TSD entry is empty.
Cuts down lock/unlock pairs for this operation from 256 to the number of active TSD entries; sicne this is done when every thread exits, it saves many total lock/unlock pairs.
show more ...
|