The NetBSD Project

CVS log for src/lib/libpthread/pthread_specific.c

[BACK] Up to [cvs.NetBSD.org] / src / lib / libpthread

Request diff between arbitrary revisions


Keyword substitution: kv
Default branch: MAIN


Revision 1.28: download - view: text, markup, annotated - select for diffs
Sun Apr 10 10:38:33 2022 UTC (2 years, 7 months ago) by riastradh
Branches: MAIN
CVS tags: perseant-exfatfs-base-20240630, perseant-exfatfs-base, perseant-exfatfs, netbsd-10-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, HEAD
Diff to: previous 1.27: preferred, colored
Changes since revision 1.27: +4 -4 lines
pthread: Nix trailing whitespace.

Revision 1.27: download - view: text, markup, annotated - select for diffs
Sat Feb 12 14:59:32 2022 UTC (2 years, 9 months ago) by riastradh
Branches: MAIN
Diff to: previous 1.26: preferred, colored
Changes since revision 1.26: +5 -2 lines
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 1.21.2.3: download - view: text, markup, annotated - select for diffs
Thu May 22 11:36:59 2014 UTC (10 years, 6 months ago) by yamt
Branches: yamt-pagecache
Diff to: previous 1.21.2.2: preferred, colored; branchpoint 1.21: preferred, colored; next MAIN 1.22: preferred, colored
Changes since revision 1.21.2.2: +18 -3 lines
sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs.  ("Protocol error: too many arguments")

Revision 1.22.2.3: download - view: text, markup, annotated - select for diffs
Sun Jun 23 06:21:08 2013 UTC (11 years, 5 months ago) by tls
Branches: tls-maxphys
Diff to: previous 1.22.2.2: preferred, colored; next MAIN 1.23: preferred, colored
Changes since revision 1.22.2.2: +18 -3 lines
resync from head

Revision 1.21.22.3: download - view: text, markup, annotated - select for diffs
Mon Apr 29 01:50:18 2013 UTC (11 years, 7 months ago) by riz
Branches: netbsd-6
CVS tags: netbsd-6-1-RELEASE, netbsd-6-1-RC4, netbsd-6-1-5-RELEASE, netbsd-6-1-4-RELEASE, netbsd-6-1-3-RELEASE, netbsd-6-1-2-RELEASE, netbsd-6-1-1-RELEASE, netbsd-6-1
Diff to: previous 1.21.22.2: preferred, colored; branchpoint 1.21: preferred, colored; next MAIN 1.22: preferred, colored
Changes since revision 1.21.22.2: +10 -2 lines
Pull up following revision(s) (requested by manu in ticket #869):
	lib/libpthread/pthread_rwlock.c: revision 1.33
	lib/libc/include/reentrant.h: revision 1.16
	lib/libpthread/pthread_cond.c: revision 1.59
	lib/libpthread/pthread_misc.c: revision 1.15
	lib/libc/thread-stub/thread-stub.c: revision 1.23
	lib/libpthread/pthread_cancelstub.c: revision 1.38
	lib/libpthread/pthread_specific.c: revision 1.26
	lib/libpthread/pthread_mutex.c: revision 1.56
	lib/libpthread/pthread_tsd.c: revision 1.11
	lib/libpthread/Makefile: revision 1.80
	lib/libpthread/pthread.c: revision 1.143
	lib/libpthread/pthread_int.h: revision 1.89
- 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

Revision 1.26: download - view: text, markup, annotated - select for diffs
Thu Mar 21 16:49:12 2013 UTC (11 years, 8 months ago) by christos
Branches: MAIN
CVS tags: yamt-pagecache-base9, tls-maxphys-base, tls-earlyentropy-base, tls-earlyentropy, riastradh-xf86-video-intel-2-7-1-pre-2-21-15, riastradh-drm2-base3, riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2, prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, phil-wifi-base, phil-wifi-20200421, phil-wifi-20200411, phil-wifi-20200406, phil-wifi-20191119, phil-wifi-20190609, phil-wifi, pgoyette-localcount-base, pgoyette-localcount-20170426, pgoyette-localcount-20170320, pgoyette-localcount-20170107, pgoyette-localcount-20161104, pgoyette-localcount-20160806, pgoyette-localcount-20160726, pgoyette-localcount, pgoyette-compat-merge-20190127, pgoyette-compat-base, pgoyette-compat-20190127, pgoyette-compat-20190118, pgoyette-compat-1226, pgoyette-compat-1126, pgoyette-compat-1020, pgoyette-compat-0930, pgoyette-compat-0906, pgoyette-compat-0728, pgoyette-compat-0625, pgoyette-compat-0521, pgoyette-compat-0502, pgoyette-compat-0422, pgoyette-compat-0415, pgoyette-compat-0407, pgoyette-compat-0330, pgoyette-compat-0322, pgoyette-compat-0315, pgoyette-compat, perseant-stdc-iso10646-base, perseant-stdc-iso10646, netbsd-9-base, netbsd-9-4-RELEASE, netbsd-9-3-RELEASE, netbsd-9-2-RELEASE, netbsd-9-1-RELEASE, netbsd-9-0-RELEASE, netbsd-9-0-RC2, netbsd-9-0-RC1, netbsd-9, netbsd-8-base, netbsd-8-3-RELEASE, netbsd-8-2-RELEASE, netbsd-8-1-RELEASE, netbsd-8-1-RC1, netbsd-8-0-RELEASE, netbsd-8-0-RC2, netbsd-8-0-RC1, netbsd-8, netbsd-7-nhusb-base-20170116, netbsd-7-nhusb-base, netbsd-7-nhusb, netbsd-7-base, netbsd-7-2-RELEASE, netbsd-7-1-RELEASE, netbsd-7-1-RC2, netbsd-7-1-RC1, netbsd-7-1-2-RELEASE, netbsd-7-1-1-RELEASE, netbsd-7-1, netbsd-7-0-RELEASE, netbsd-7-0-RC3, netbsd-7-0-RC2, netbsd-7-0-RC1, netbsd-7-0-2-RELEASE, netbsd-7-0-1-RELEASE, netbsd-7-0, netbsd-7, matt-nb8-mediatek-base, matt-nb8-mediatek, localcount-20160914, is-mlppp-base, is-mlppp, cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1, cjep_staticlib_x-base, cjep_staticlib_x, bouyer-socketcan-base1, bouyer-socketcan-base, bouyer-socketcan, agc-symver-base, agc-symver
Diff to: previous 1.25: preferred, colored
Changes since revision 1.25: +18 -7 lines
- 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

Revision 1.25: download - view: text, markup, annotated - select for diffs
Wed Mar 6 11:30:56 2013 UTC (11 years, 8 months ago) by yamt
Branches: MAIN
Diff to: previous 1.24: preferred, colored
Changes since revision 1.24: +7 -3 lines
add assertions

Revision 1.22.2.2: download - view: text, markup, annotated - select for diffs
Mon Feb 25 00:27:59 2013 UTC (11 years, 9 months ago) by tls
Branches: tls-maxphys
Diff to: previous 1.22.2.1: preferred, colored
Changes since revision 1.22.2.1: +4 -8 lines
resync with head

Revision 1.21.2.2: download - view: text, markup, annotated - select for diffs
Wed Jan 16 05:32:27 2013 UTC (11 years, 10 months ago) by yamt
Branches: yamt-pagecache
CVS tags: yamt-pagecache-tag8
Diff to: previous 1.21.2.1: preferred, colored; branchpoint 1.21: preferred, colored
Changes since revision 1.21.2.1: +4 -8 lines
sync with (a bit old) head

Revision 1.21.22.2: download - view: text, markup, annotated - select for diffs
Sun Dec 2 18:47:36 2012 UTC (12 years ago) by riz
Branches: netbsd-6
CVS tags: netbsd-6-1-RC3, netbsd-6-1-RC2, netbsd-6-1-RC1
Diff to: previous 1.21.22.1: preferred, colored; branchpoint 1.21: preferred, colored
Changes since revision 1.21.22.1: +8 -4 lines

Back out ticket #724 (libpthread changes) until they can be better
understood, as they broke threaded programs on (at least) i386 and amd64.

Revision 1.21.22.1: download - view: text, markup, annotated - select for diffs
Wed Nov 28 23:58:35 2012 UTC (12 years ago) by riz
Branches: netbsd-6
Diff to: previous 1.21: preferred, colored
Changes since revision 1.21: +4 -8 lines
Pull up following revision(s) (requested by christos in ticket #724):
	lib/libpthread/pthread_specific.c: revision 1.24
	lib/libpthread/pthread_tsd.c: revision 1.10
	lib/libpthread/pthread_tsd.c: revision 1.9
	lib/libpthread/pthread_int.h: revision 1.88
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.
Don't call the destructor in pthread_key_delete() following the standard.

Revision 1.24: download - view: text, markup, annotated - select for diffs
Wed Nov 21 19:19:24 2012 UTC (12 years ago) by christos
Branches: MAIN
CVS tags: yamt-pagecache-base8, yamt-pagecache-base7
Diff to: previous 1.23: preferred, colored
Changes since revision 1.23: +4 -8 lines
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 1.22.2.1: download - view: text, markup, annotated - select for diffs
Tue Nov 20 03:00:44 2012 UTC (12 years ago) by tls
Branches: tls-maxphys
Diff to: previous 1.22: preferred, colored
Changes since revision 1.22: +13 -6 lines
Resync to 2012-11-19 00:00:00 UTC

Revision 1.21.2.1: download - view: text, markup, annotated - select for diffs
Tue Oct 30 18:59:15 2012 UTC (12 years, 1 month ago) by yamt
Branches: yamt-pagecache
Diff to: previous 1.21: preferred, colored
Changes since revision 1.21: +29 -2 lines
sync with head

Revision 1.23: download - view: text, markup, annotated - select for diffs
Wed Sep 12 14:55:48 2012 UTC (12 years, 2 months ago) by matt
Branches: MAIN
CVS tags: yamt-pagecache-base6
Diff to: previous 1.22: preferred, colored
Changes since revision 1.22: +13 -6 lines
Only copy the ucontext_t in pthread_setcontext if _UC_TLSBASE is set.
Conditionalize the test on _UC_TLSBASE being defined.

Revision 1.22: download - view: text, markup, annotated - select for diffs
Wed Sep 12 02:00:53 2012 UTC (12 years, 2 months ago) by manu
Branches: MAIN
Branch point for: tls-maxphys
Diff to: previous 1.21: preferred, colored
Changes since revision 1.21: +22 -2 lines
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 1.20.2.1: download - view: text, markup, annotated - select for diffs
Thu Sep 18 04:39:24 2008 UTC (16 years, 2 months ago) by wrstuden
Branches: wrstuden-revivesa
Diff to: previous 1.20: preferred, colored; next MAIN 1.21: preferred, colored
Changes since revision 1.20: +3 -8 lines
Sync with wrstuden-revivesa-base-2.

Revision 1.21.6.2: download - view: text, markup, annotated - select for diffs
Mon Jun 23 10:38:40 2008 UTC (16 years, 5 months ago) by ad
Branches: christos-time_t
Diff to: previous 1.21.6.1: preferred, colored; branchpoint 1.21: preferred, colored; next MAIN 1.22: preferred, colored
Changes since revision 1.21.6.1: +77 -0 lines
pthread_curcpu_np: remove hack for pthread_dummy_lwpctl.

Revision 1.21.6.1
Mon Jun 23 10:38:39 2008 UTC (16 years, 5 months ago) by ad
Branches: christos-time_t
FILE REMOVED
Changes since revision 1.21: +0 -77 lines
file pthread_specific.c was added on branch christos-time_t on 2008-06-23 10:38:40 +0000

Revision 1.21: download - view: text, markup, annotated - select for diffs
Mon Jun 23 10:38:39 2008 UTC (16 years, 5 months ago) by ad
Branches: MAIN
CVS tags: yamt-pagecache-base5, yamt-pagecache-base4, yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, wrstuden-revivesa-base-3, wrstuden-revivesa-base-2, netbsd-6-base, netbsd-6-0-RELEASE, netbsd-6-0-RC2, netbsd-6-0-RC1, netbsd-6-0-6-RELEASE, netbsd-6-0-5-RELEASE, netbsd-6-0-4-RELEASE, netbsd-6-0-3-RELEASE, netbsd-6-0-2-RELEASE, netbsd-6-0-1-RELEASE, netbsd-6-0, netbsd-5-base, netbsd-5-2-RELEASE, netbsd-5-2-RC1, netbsd-5-2-3-RELEASE, netbsd-5-2-2-RELEASE, netbsd-5-2-1-RELEASE, netbsd-5-2, netbsd-5-1-RELEASE, netbsd-5-1-RC4, netbsd-5-1-RC3, netbsd-5-1-RC2, netbsd-5-1-RC1, netbsd-5-1-5-RELEASE, netbsd-5-1-4-RELEASE, netbsd-5-1-3-RELEASE, netbsd-5-1-2-RELEASE, netbsd-5-1-1-RELEASE, netbsd-5-1, netbsd-5-0-RELEASE, netbsd-5-0-RC4, netbsd-5-0-RC3, netbsd-5-0-RC2, netbsd-5-0-RC1, netbsd-5-0-2-RELEASE, netbsd-5-0-1-RELEASE, netbsd-5-0, netbsd-5, matt-premerge-20091211, matt-nb6-plus-nbase, matt-nb6-plus-base, matt-nb6-plus, matt-nb5-pq3-base, matt-nb5-pq3, matt-nb5-mips64-u2-k2-k4-k7-k8-k9, matt-nb5-mips64-u1-k1-k5, matt-nb5-mips64-premerge-20101231, matt-nb5-mips64-premerge-20091211, matt-nb5-mips64-k15, matt-nb5-mips64, matt-nb4-mips64-k7-u2a-k9b, matt-mips64-premerge-20101231, matt-mips64-base2, jym-xensuspend-nbase, jym-xensuspend-base, jym-xensuspend, christos-time_t-nbase, christos-time_t-base, cherry-xenmp-base, cherry-xenmp, bouyer-quota2-nbase, bouyer-quota2-base, bouyer-quota2
Branch point for: yamt-pagecache, netbsd-6, christos-time_t
Diff to: previous 1.20: preferred, colored
Changes since revision 1.20: +3 -8 lines
pthread_curcpu_np: remove hack for pthread_dummy_lwpctl.

Revision 1.19.2.1: download - view: text, markup, annotated - select for diffs
Sun May 18 12:30:40 2008 UTC (16 years, 6 months ago) by yamt
Branches: yamt-pf42
Diff to: previous 1.19: preferred, colored; next MAIN 1.20: preferred, colored
Changes since revision 1.19: +2 -9 lines
sync with head.

Revision 1.20: download - view: text, markup, annotated - select for diffs
Mon Apr 28 20:23:01 2008 UTC (16 years, 7 months ago) by martin
Branches: MAIN
CVS tags: yamt-pf42-base4, yamt-pf42-base3, yamt-pf42-base2, wrstuden-revivesa-base-1, wrstuden-revivesa-base, hpcarm-cleanup-nbase
Branch point for: wrstuden-revivesa
Diff to: previous 1.19: preferred, colored
Changes since revision 1.19: +2 -9 lines
Remove clause 3 and 4 from TNF licenses

Revision 1.11.2.2: download - view: text, markup, annotated - select for diffs
Sun Mar 23 00:40:28 2008 UTC (16 years, 8 months ago) by matt
Branches: matt-armv6
Diff to: previous 1.11.2.1: preferred, colored; branchpoint 1.11: preferred, colored; next MAIN 1.12: preferred, colored
Changes since revision 1.11.2.1: +3 -3 lines
sync with HEAD

Revision 1.19: download - view: text, markup, annotated - select for diffs
Sat Mar 22 14:19:27 2008 UTC (16 years, 8 months ago) by ad
Branches: MAIN
CVS tags: yamt-pf42-baseX, yamt-pf42-base
Branch point for: yamt-pf42
Diff to: previous 1.18: preferred, colored
Changes since revision 1.18: +2 -9 lines
Back out previous. It seems to expose another bug in libpthread/libc,
potentially errno being used before threading is up and running.

Revision 1.18: download - view: text, markup, annotated - select for diffs
Fri Mar 21 21:35:43 2008 UTC (16 years, 8 months ago) by ad
Branches: MAIN
Diff to: previous 1.17: preferred, colored
Changes since revision 1.17: +9 -2 lines
Move pthread__errno() into pthread_specific.c so it gets the "no stack
frame" treatment.

Revision 1.11.2.1: download - view: text, markup, annotated - select for diffs
Wed Jan 9 01:36:39 2008 UTC (16 years, 10 months ago) by matt
Branches: matt-armv6
Diff to: previous 1.11: preferred, colored
Changes since revision 1.11: +19 -6 lines
sync with HEAD

Revision 1.17: download - view: text, markup, annotated - select for diffs
Tue Jan 8 20:55:58 2008 UTC (16 years, 10 months ago) by christos
Branches: MAIN
CVS tags: matt-armv6-nbase, keiichi-mipv6-base, keiichi-mipv6, hpcarm-cleanup-base
Diff to: previous 1.16: preferred, colored
Changes since revision 1.16: +3 -3 lines
cast -1 to unsigned int.

Revision 1.16: download - view: text, markup, annotated - select for diffs
Mon Jan 7 11:51:43 2008 UTC (16 years, 10 months ago) by yamt
Branches: MAIN
CVS tags: matt-armv6-base
Diff to: previous 1.15: preferred, colored
Changes since revision 1.15: +9 -3 lines
pthread_curcpu_np: map LWPCTL_CPU_NONE to 0 so that this works in the case
of _lwp_ctl failure.

Revision 1.15: download - view: text, markup, annotated - select for diffs
Fri Dec 7 20:36:52 2007 UTC (16 years, 11 months ago) by ad
Branches: MAIN
CVS tags: cube-autoconf-base, cube-autoconf
Diff to: previous 1.14: preferred, colored
Changes since revision 1.14: +3 -6 lines
Back out previous now that libc/libpthread are initialized first.

Revision 1.14: download - view: text, markup, annotated - select for diffs
Sat Dec 1 01:19:31 2007 UTC (17 years ago) by ad
Branches: MAIN
Diff to: previous 1.13: preferred, colored
Changes since revision 1.13: +6 -4 lines
Hack around ld.so initializing pthread users before libpthread/libc.

Revision 1.13: download - view: text, markup, annotated - select for diffs
Tue Nov 27 20:58:26 2007 UTC (17 years ago) by ad
Branches: MAIN
Diff to: previous 1.12: preferred, colored
Changes since revision 1.12: +13 -2 lines
Add thr_curcpu(), pthread_curcpu_np().

Revision 1.12: download - view: text, markup, annotated - select for diffs
Tue Nov 13 01:21:32 2007 UTC (17 years ago) by ad
Branches: MAIN
Diff to: previous 1.11: preferred, colored
Changes since revision 1.11: +4 -7 lines
Cosmetic change.

Revision 1.10.20.1: download - view: text, markup, annotated - select for diffs
Mon Sep 3 10:14:16 2007 UTC (17 years, 3 months ago) by skrll
Branches: nick-csl-alignment
Diff to: previous 1.10: preferred, colored; next MAIN 1.11: preferred, colored
Changes since revision 1.10: +4 -3 lines
Sync with HEAD.

Revision 1.11: download - view: text, markup, annotated - select for diffs
Thu Aug 16 12:01:49 2007 UTC (17 years, 3 months ago) by ad
Branches: MAIN
CVS tags: nick-csl-alignment-base5, nick-csl-alignment-base4, nick-csl-alignment-base3, matt-armv6-prevmlocking
Branch point for: matt-armv6
Diff to: previous 1.10: preferred, colored
Changes since revision 1.10: +4 -3 lines
- 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 1.10: download - view: text, markup, annotated - select for diffs
Wed Aug 13 18:52:01 2003 UTC (21 years, 3 months ago) by nathanw
Branches: MAIN
CVS tags: wrstuden-fixsa-newbase, wrstuden-fixsa-base-1, wrstuden-fixsa-base, wrstuden-fixsa, nick-csl-alignment-base2, nick-csl-alignment-base, netbsd-4-base, netbsd-4-0-RELEASE, netbsd-4-0-RC5, netbsd-4-0-RC4, netbsd-4-0-RC3, netbsd-4-0-RC2, netbsd-4-0-RC1, netbsd-4-0-1-RELEASE, netbsd-4-0, netbsd-4, netbsd-3-base, netbsd-3-1-RELEASE, netbsd-3-1-RC4, netbsd-3-1-RC3, netbsd-3-1-RC2, netbsd-3-1-RC1, netbsd-3-1-1-RELEASE, netbsd-3-1, 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-3-0-3-RELEASE, netbsd-3-0-2-RELEASE, netbsd-3-0-1-RELEASE, netbsd-3-0, netbsd-3, netbsd-2-base, 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-1, netbsd-2-0-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-3-RELEASE, netbsd-2-0-2-RELEASE, netbsd-2-0-1-RELEASE, netbsd-2-0, netbsd-2, matt-mips64-base, matt-mips64, hpcarm-cleanup, abandoned-netbsd-4-base, abandoned-netbsd-4
Branch point for: nick-csl-alignment
Diff to: previous 1.9: preferred, colored
Changes since revision 1.9: +2 -184 lines
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.

Revision 1.9: download - view: text, markup, annotated - select for diffs
Thu Jul 17 20:40:43 2003 UTC (21 years, 4 months ago) by nathanw
Branches: MAIN
Diff to: previous 1.8: preferred, colored
Changes since revision 1.8: +3 -3 lines
Don't use PTHREAD_DESTRUCTOR_ITERATIONS; the constant is going away.

Revision 1.8: download - view: text, markup, annotated - select for diffs
Thu May 15 19:16:37 2003 UTC (21 years, 6 months ago) by wiz
Branches: MAIN
Diff to: previous 1.7: preferred, colored
Changes since revision 1.7: +3 -3 lines
Fix typo in comment.

Revision 1.7: download - view: text, markup, annotated - select for diffs
Thu May 15 19:13:24 2003 UTC (21 years, 6 months ago) by nathanw
Branches: MAIN
Diff to: previous 1.6: preferred, colored
Changes since revision 1.6: +3 -6 lines
Remove an unnecessary test in pthread_getspecific().

Revision 1.6: download - view: text, markup, annotated - select for diffs
Sat Mar 8 08:03:36 2003 UTC (21 years, 9 months ago) by lukem
Branches: MAIN
Diff to: previous 1.5: preferred, colored
Changes since revision 1.5: +4 -2 lines
add __RCSID()

Revision 1.5: download - view: text, markup, annotated - select for diffs
Sat Feb 15 04:39:16 2003 UTC (21 years, 9 months ago) by nathanw
Branches: MAIN
Diff to: previous 1.4: preferred, colored
Changes since revision 1.4: +1 -2 lines
Remove unused #include <assert.h>

Revision 1.4: download - view: text, markup, annotated - select for diffs
Tue Jan 21 23:29:22 2003 UTC (21 years, 10 months ago) by nathanw
Branches: MAIN
Diff to: previous 1.3: preferred, colored
Changes since revision 1.3: +11 -10 lines
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.

Revision 1.3: download - view: text, markup, annotated - select for diffs
Sat Jan 18 18:45:57 2003 UTC (21 years, 10 months ago) by christos
Branches: MAIN
Diff to: previous 1.2: preferred, colored
Changes since revision 1.2: +2 -1 lines
de-lint

Revision 1.2: download - view: text, markup, annotated - select for diffs
Sat Jan 18 10:34:16 2003 UTC (21 years, 10 months ago) by thorpej
Branches: MAIN
Diff to: previous 1.1: preferred, colored
Changes since revision 1.1: +257 -0 lines
Merge the nathanw_sa branch.

Revision 1.1.2.9: download - view: text, markup, annotated - select for diffs
Thu Jan 9 19:27:52 2003 UTC (21 years, 10 months ago) by thorpej
Branches: nathanw_sa
CVS tags: nathanw_sa_end
Diff to: previous 1.1.2.8: preferred, colored; branchpoint 1.1: preferred, colored; next MAIN 1.2: preferred, colored
Changes since revision 1.1.2.8: +5 -5 lines
Remove trailing semicolon from __strong_alias().

Revision 1.1.2.8: download - view: text, markup, annotated - select for diffs
Wed Jan 8 19:34:23 2003 UTC (21 years, 10 months ago) by thorpej
Branches: nathanw_sa
Diff to: previous 1.1.2.7: preferred, colored; branchpoint 1.1: preferred, colored
Changes since revision 1.1.2.7: +6 -1 lines
Rewrite the way libpthread provides thread primitives to libc, using
strong and weak aliases (the way cancelation points are handled).

Work around lame Unix static library semantics which could cause
the wrong thread primitives or cancelation point functions to be
included in a statically-linked program.

THIS IS AN ABI CHANGE.  People running the nathanw_sa branch should
ensure that their libc and libpthread are in sync after updating.

Revision 1.1.2.7: download - view: text, markup, annotated - select for diffs
Mon Oct 7 18:57:52 2002 UTC (22 years, 2 months ago) by nathanw
Branches: nathanw_sa
Diff to: previous 1.1.2.6: preferred, colored; branchpoint 1.1: preferred, colored
Changes since revision 1.1.2.6: +71 -30 lines
Protect operations on the destructor array with mutexes.

Add a lot of verbiage about how broken the specification of
pthread_key_delete() is, and change the implementation to the
least-damaging option: clearing the destructor and not permitting key
reuse.

Revision 1.1.2.6: download - view: text, markup, annotated - select for diffs
Fri Apr 26 22:10:49 2002 UTC (22 years, 7 months ago) by nathanw
Branches: nathanw_sa
Diff to: previous 1.1.2.5: preferred, colored; branchpoint 1.1: preferred, colored
Changes since revision 1.1.2.5: +13 -14 lines
Make the names of the thread-specific data arrays visible.

Revision 1.1.2.5: download - view: text, markup, annotated - select for diffs
Thu Apr 11 02:51:35 2002 UTC (22 years, 7 months ago) by nathanw
Branches: nathanw_sa
Diff to: previous 1.1.2.4: preferred, colored; branchpoint 1.1: preferred, colored
Changes since revision 1.1.2.4: +1 -6 lines
Revert weak aliases.

Revision 1.1.2.4: download - view: text, markup, annotated - select for diffs
Mon Mar 25 03:46:01 2002 UTC (22 years, 8 months ago) by nathanw
Branches: nathanw_sa
Diff to: previous 1.1.2.3: preferred, colored; branchpoint 1.1: preferred, colored
Changes since revision 1.1.2.3: +6 -2 lines
Provide interfaces to libc.

Revision 1.1.2.3: download - view: text, markup, annotated - select for diffs
Fri Mar 1 01:29:15 2002 UTC (22 years, 9 months ago) by nathanw
Branches: nathanw_sa
Diff to: previous 1.1.2.2: preferred, colored; branchpoint 1.1: preferred, colored
Changes since revision 1.1.2.2: +12 -1 lines
Add a comment noting the dissent about what pthread_key_delete() should
really do.

Revision 1.1.2.2: download - view: text, markup, annotated - select for diffs
Sun Dec 30 02:19:26 2001 UTC (22 years, 11 months ago) by nathanw
Branches: nathanw_sa
Diff to: previous 1.1.2.1: preferred, colored; branchpoint 1.1: preferred, colored
Changes since revision 1.1.2.1: +3 -3 lines
pt_spin_t -> pthread_spin_t.

Revision 1.1.2.1: download - view: text, markup, annotated - select for diffs
Wed Aug 8 16:39:33 2001 UTC (23 years, 3 months ago) by nathanw
Branches: nathanw_sa
Diff to: previous 1.1: preferred, colored
Changes since revision 1.1: +202 -0 lines
Implement thread-specific data.

Revision 1.1
Wed Aug 8 16:39:33 2001 UTC (23 years, 3 months ago) by nathanw
Branches: MAIN
CVS tags: nathanw_sa_before_merge
Branch point for: nathanw_sa
FILE REMOVED
file pthread_specific.c was initially added on branch nathanw_sa.

Diff request

This form allows you to request diffs between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.

Log view options

CVSweb <webmaster@jp.NetBSD.org>