|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 netbsd-10-0-RC1 netbsd-10-base
|
| #
1.28 |
|
10-Apr-2022 |
riastradh |
pthread: Nix trailing whitespace.
|
| #
1.27 |
|
12-Feb-2022 |
riastradh |
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.)
|
|
Revision tags: netbsd-8-3-RELEASE netbsd-9-4-RELEASE netbsd-9-3-RELEASE cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 netbsd-9-2-RELEASE cjep_staticlib_x-base netbsd-9-1-RELEASE phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406 netbsd-8-2-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 netbsd-7-2-RELEASE pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 netbsd-7-1-2-RELEASE pgoyette-compat-base netbsd-7-1-1-RELEASE matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 bouyer-socketcan-base pgoyette-localcount-20170107 netbsd-7-1-RC1 pgoyette-localcount-20161104 netbsd-7-0-2-RELEASE localcount-20160914 netbsd-7-nhusb-base pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base tls-maxphys-base
|
| #
1.26 |
|
21-Mar-2013 |
christos |
- 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
|
| #
1.25 |
|
06-Mar-2013 |
yamt |
add assertions
|
|
Revision tags: yamt-pagecache-base8 yamt-pagecache-base7
|
| #
1.24 |
|
21-Nov-2012 |
christos |
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.
|
|
Revision tags: yamt-pagecache-base6
|
| #
1.23 |
|
12-Sep-2012 |
matt |
Only copy the ucontext_t in pthread_setcontext if _UC_TLSBASE is set. Conditionalize the test on _UC_TLSBASE being defined.
|
| #
1.22 |
|
12-Sep-2012 |
manu |
branches: 1.22.2; 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@
|
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-6-0-6-RELEASE netbsd-6-0-5-RELEASE netbsd-6-0-4-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-6-0-3-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-6-0-2-RELEASE netbsd-6-0-1-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 yamt-pagecache-base5 yamt-pagecache-base4 netbsd-6-base netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231 matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE jym-xensuspend-nbase netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 christos-time_t-nbase christos-time_t-base netbsd-5-base matt-mips64-base2 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
|
| #
1.21 |
|
23-Jun-2008 |
ad |
branches: 1.21.2; 1.21.6; 1.21.22; pthread_curcpu_np: remove hack for pthread_dummy_lwpctl.
|
|
Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 wrstuden-revivesa-base
|
| #
1.20 |
|
28-Apr-2008 |
martin |
branches: 1.20.2; Remove clause 3 and 4 from TNF licenses
|
|
Revision tags: yamt-pf42-baseX yamt-pf42-base
|
| #
1.19 |
|
22-Mar-2008 |
ad |
branches: 1.19.2; Back out previous. It seems to expose another bug in libpthread/libc, potentially errno being used before threading is up and running.
|
| #
1.18 |
|
21-Mar-2008 |
ad |
Move pthread__errno() into pthread_specific.c so it gets the "no stack frame" treatment.
|
|
Revision tags: keiichi-mipv6-base matt-armv6-nbase hpcarm-cleanup-base
|
| #
1.17 |
|
08-Jan-2008 |
christos |
cast -1 to unsigned int.
|
|
Revision tags: matt-armv6-base
|
| #
1.16 |
|
07-Jan-2008 |
yamt |
pthread_curcpu_np: map LWPCTL_CPU_NONE to 0 so that this works in the case of _lwp_ctl failure.
|
|
Revision tags: cube-autoconf-base
|
| #
1.15 |
|
07-Dec-2007 |
ad |
Back out previous now that libc/libpthread are initialized first.
|
| #
1.14 |
|
01-Dec-2007 |
ad |
Hack around ld.so initializing pthread users before libpthread/libc.
|
| #
1.13 |
|
27-Nov-2007 |
ad |
Add thr_curcpu(), pthread_curcpu_np().
|
| #
1.12 |
|
13-Nov-2007 |
ad |
Cosmetic change.
|
|
Revision tags: matt-armv6-prevmlocking nick-csl-alignment-base5 nick-csl-alignment-base4 nick-csl-alignment-base3
|
| #
1.11 |
|
16-Aug-2007 |
ad |
branches: 1.11.2; - 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.
|
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 nick-csl-alignment-base2 matt-mips64-base nick-csl-alignment-base netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE wrstuden-fixsa-base abandoned-netbsd-4-base netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-4-base netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-3-base netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
|
| #
1.10 |
|
13-Aug-2003 |
nathanw |
branches: 1.10.20; 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.
|
| #
1.9 |
|
17-Jul-2003 |
nathanw |
Don't use PTHREAD_DESTRUCTOR_ITERATIONS; the constant is going away.
|
| #
1.8 |
|
15-May-2003 |
wiz |
Fix typo in comment.
|
| #
1.7 |
|
15-May-2003 |
nathanw |
Remove an unnecessary test in pthread_getspecific().
|
| #
1.6 |
|
08-Mar-2003 |
lukem |
add __RCSID()
|
| #
1.5 |
|
15-Feb-2003 |
nathanw |
Remove unused #include <assert.h>
|
| #
1.4 |
|
21-Jan-2003 |
nathanw |
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.
|
| #
1.3 |
|
18-Jan-2003 |
christos |
de-lint
|
| #
1.2 |
|
18-Jan-2003 |
thorpej |
Merge the nathanw_sa branch.
|
|
Revision tags: nathanw_sa_before_merge
|
| #
1.1 |
|
08-Aug-2001 |
nathanw |
branches: 1.1.2; file pthread_specific.c was initially added on branch nathanw_sa.
|