The NetBSD Project

CVS log for src/lib/libpthread/pthread_types.h

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

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.27 / (download) - annotate - [select for diffs], Sun Apr 10 10:38:33 2022 UTC (9 months, 3 weeks ago) by riastradh
Branch: MAIN
CVS Tags: netbsd-10-base, netbsd-10, HEAD
Changes since 1.26: +3 -3 lines
Diff to previous 1.26 (colored)

pthread: Nix trailing whitespace.

Revision 1.26 / (download) - annotate - [select for diffs], Wed Mar 10 15:05:11 2021 UTC (22 months, 3 weeks ago) by christos
Branch: MAIN
CVS Tags: cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1, cjep_staticlib_x-base, cjep_staticlib_x
Changes since 1.25: +2 -2 lines
Diff to previous 1.25 (colored)

Use __pthread_volatile for ptc_waiters (Greg A. Woods)

Revision 1.25 / (download) - annotate - [select for diffs], Wed Jun 10 22:45:15 2020 UTC (2 years, 7 months ago) by ad
Branch: MAIN
Changes since 1.24: +3 -3 lines
Diff to previous 1.24 (colored)

- Make pthread_condvar and pthread_mutex work on the stack rather than in
  pthread_t, so there's less chance of bad things happening if someone calls
  (for example) pthread_cond_broadcast() from a signal handler.

- Remove all the deferred waiter handling except for the one case that really
  matters which is transferring waiters from condvar -> mutex on wakeup, and
  do that by splicing the condvar's waiters onto the mutex.

- Remove the mutex waiters bit as it's another complication that's not
  strictly needed.

Revision 1.24 / (download) - annotate - [select for diffs], Mon Jun 1 11:44:59 2020 UTC (2 years, 8 months ago) by ad
Branch: MAIN
Changes since 1.23: +6 -4 lines
Diff to previous 1.23 (colored)

In the interests of reliability simplify waiter handling more and redo
condvars to manage the list of waiters with atomic ops.

Revision 1.23 / (download) - annotate - [select for diffs], Sat Sep 9 23:21:45 2017 UTC (5 years, 4 months ago) by kamil
Branch: MAIN
CVS Tags: phil-wifi-base, phil-wifi-20200421, phil-wifi-20200411, phil-wifi-20200406, phil-wifi-20191119, phil-wifi-20190609, phil-wifi, 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, netbsd-9-base, 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, is-mlppp-base, is-mlppp
Changes since 1.22: +8 -8 lines
Diff to previous 1.22 (colored)

Support <pthread_typs.h> on C89 compilers

Clang 5.0.0(svn) reports warnings on <pthread_types.h> for C99 constructs
when used with strict -std=c89.

Restrict designated initializers usage to C99 or newer code.
C89 and C++ will share the same code without extension of designated
initializers.

PR 52285

Revision 1.18.2.1 / (download) - annotate - [select for diffs], Tue Jul 26 03:24:15 2016 UTC (6 years, 6 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.18: +30 -15 lines
Diff to previous 1.18 (colored) next main 1.19 (colored)

Sync with HEAD

Revision 1.22 / (download) - annotate - [select for diffs], Wed Jul 20 21:02:04 2016 UTC (6 years, 6 months ago) by christos
Branch: MAIN
CVS Tags: prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, pgoyette-localcount-20170426, pgoyette-localcount-20170320, pgoyette-localcount-20170107, pgoyette-localcount-20161104, pgoyette-localcount-20160806, pgoyette-localcount-20160726, perseant-stdc-iso10646-base, perseant-stdc-iso10646, netbsd-8-base, 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, matt-nb8-mediatek-base, matt-nb8-mediatek, localcount-20160914, bouyer-socketcan-base1, bouyer-socketcan-base, bouyer-socketcan
Changes since 1.21: +4 -2 lines
Diff to previous 1.21 (colored)

unnamed unions need special treatment since they need braced initializers
for old style initializations.

Revision 1.21 / (download) - annotate - [select for diffs], Wed Jul 20 20:06:04 2016 UTC (6 years, 6 months ago) by christos
Branch: MAIN
Changes since 1.20: +21 -11 lines
Diff to previous 1.20 (colored)

cplusplus does not like complex named initializers...

Revision 1.20 / (download) - annotate - [select for diffs], Wed Jul 20 19:26:52 2016 UTC (6 years, 6 months ago) by christos
Branch: MAIN
Changes since 1.19: +15 -15 lines
Diff to previous 1.19 (colored)

use named initializers

Revision 1.19 / (download) - annotate - [select for diffs], Sun Jul 17 13:49:43 2016 UTC (6 years, 6 months ago) by skrll
Branch: MAIN
Changes since 1.18: +7 -4 lines
Diff to previous 1.18 (colored)

Use anonymous union for ptm_ceiling and old __pthread_spin_t field to
maintain backward compatibility and fix hppa build.  hppa has an non-
integer type __pthread_spin_t

Revision 1.18 / (download) - annotate - [select for diffs], Sun Jul 3 14:24:58 2016 UTC (6 years, 7 months ago) by christos
Branch: MAIN
CVS Tags: pgoyette-localcount-base
Branch point for: pgoyette-localcount
Changes since 1.17: +2 -2 lines
Diff to previous 1.17 (colored)

GSoC 2016 Charles Cui: Implement thread priority protection based on work
by Andy Doran. Also document the get/set pshared thread calls as not
implemented, and add a skeleton implementation that is disabled.
XXX: document _sched_protect(2).

Revision 1.17 / (download) - annotate - [select for diffs], Thu Aug 27 12:30:50 2015 UTC (7 years, 5 months ago) by pooka
Branch: MAIN
Changes since 1.16: +21 -10 lines
Diff to previous 1.16 (colored)

Fix PTHREAD_FOO_INITIALIZER for C++ by not using volatile in the relevant
pthread types in C++ builds, attempt 2.

The problem with attempt 1 was making assumptions of what the MD
__cpu_simple_lock_t (declared volatile) looks like.  To get a same type
except non-volatile, we change the MD type to __cpu_simple_lock_nv_t
and typedef __cpu_simple_lock_t as a volatile __cpu_simple_lock_nv_t.
IMO, __cpu_simple_lock_t should not be volatile at all, but changing it
now is too risky.

Fixes at least Rumprun w/ gcc 5.1/5.2.  Furthermore, the mpd application
(and possibly others) will no longer require NetBSD-specific patches.

Tested: build.sh for i386, Rumprun for x86_64 w/ gcc 5.2.

Based on the patch from Christos in lib/49989.

Revision 1.16 / (download) - annotate - [select for diffs], Fri Jun 26 11:25:22 2015 UTC (7 years, 7 months ago) by pooka
Branch: MAIN
Changes since 1.15: +9 -24 lines
Diff to previous 1.15 (colored)

Rev 1.14 was nice except it didn't work with _INITIALIZER, which
sort of negates the whole point ... so revert everything while in
drawing board mode.

Revision 1.15 / (download) - annotate - [select for diffs], Fri Jun 26 10:05:17 2015 UTC (7 years, 7 months ago) by pooka
Branch: MAIN
Changes since 1.14: +4 -6 lines
Diff to previous 1.14 (colored)

Don't depend on __CPU_SIMPLE_LOCK_PAD to determine the type of
__cpu_simple_lock_t (because it doesn't).  Instead, use sizeof/alignof
with a struct { uchar[] }.

Fixes problem in previous commit, caught by Nick Hudson.

Revision 1.14 / (download) - annotate - [select for diffs], Fri Jun 26 01:33:08 2015 UTC (7 years, 7 months ago) by pooka
Branch: MAIN
Changes since 1.13: +26 -9 lines
Diff to previous 1.13 (colored)

C++ (namely libc++) expects to be using PTHREAD_FOO_INITIALIZER as a
member initializer. This does not work for volatile types. Since C++
does not touch the guts of those types, redefine them as non-volatile.

Fixes libc++ compilation with g++ 5.1, as reported in PR lib/49989.

Revision 1.10.2.1 / (download) - annotate - [select for diffs], Thu Sep 18 04:39:24 2008 UTC (14 years, 4 months ago) by wrstuden
Branch: wrstuden-revivesa
Changes since 1.10: +39 -7 lines
Diff to previous 1.10 (colored) next main 1.11 (colored)

Sync with wrstuden-revivesa-base-2.

Revision 1.13.6.2 / (download) - annotate - [select for diffs], Sat Aug 2 19:46:31 2008 UTC (14 years, 6 months ago) by matt
Branch: christos-time_t
Changes since 1.13.6.1: +254 -0 lines
Diff to previous 1.13.6.1 (colored) to branchpoint 1.13 (colored) next main 1.14 (colored)

Change pthread_mutex_t to use the amount of space as and be congruent to
the version used in the SA version of pthreads.  This preserves binary
compatibility between both versions of the library.

Revision 1.13.6.1, Sat Aug 2 19:46:30 2008 UTC (14 years, 6 months ago) by matt
Branch: christos-time_t
Changes since 1.13: +0 -254 lines
FILE REMOVED

file pthread_types.h was added on branch christos-time_t on 2008-08-02 19:46:31 +0000

Revision 1.13 / (download) - annotate - [select for diffs], Sat Aug 2 19:46:30 2008 UTC (14 years, 6 months ago) by matt
Branch: MAIN
CVS Tags: yamt-pagecache-tag8, yamt-pagecache-base9, yamt-pagecache-base8, yamt-pagecache-base7, yamt-pagecache-base6, yamt-pagecache-base5, yamt-pagecache-base4, yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, yamt-pagecache, wrstuden-revivesa-base-3, wrstuden-revivesa-base-2, tls-maxphys-base, tls-maxphys, 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, 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, netbsd-6-base, netbsd-6-1-RELEASE, netbsd-6-1-RC4, netbsd-6-1-RC3, netbsd-6-1-RC2, netbsd-6-1-RC1, 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, 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-6, 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, agc-symver-base, agc-symver
Branch point for: christos-time_t
Changes since 1.12: +39 -7 lines
Diff to previous 1.12 (colored)

Change pthread_mutex_t to use the amount of space as and be congruent to
the version used in the SA version of pthreads.  This preserves binary
compatibility between both versions of the library.

Revision 1.12 / (download) - annotate - [select for diffs], Thu Jun 5 23:38:51 2008 UTC (14 years, 8 months ago) by ad
Branch: MAIN
CVS Tags: yamt-pf42-base4, wrstuden-revivesa-base-1, wrstuden-revivesa-base
Changes since 1.11: +1 -4 lines
Diff to previous 1.11 (colored)

Back out previous because it breaks the build.

Revision 1.11 / (download) - annotate - [select for diffs], Thu Jun 5 21:40:17 2008 UTC (14 years, 8 months ago) by ad
Branch: MAIN
Changes since 1.10: +5 -2 lines
Diff to previous 1.10 (colored)

glibc compatibile PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP, requested by
rafal@.

Revision 1.9.4.1 / (download) - annotate - [select for diffs], Sun May 18 12:30:40 2008 UTC (14 years, 8 months ago) by yamt
Branch: yamt-pf42
Changes since 1.9: +1 -8 lines
Diff to previous 1.9 (colored) next main 1.10 (colored)

sync with head.

Revision 1.10 / (download) - annotate - [select for diffs], Mon Apr 28 20:23:02 2008 UTC (14 years, 9 months ago) by martin
Branch: MAIN
CVS Tags: yamt-pf42-base3, yamt-pf42-base2, hpcarm-cleanup-nbase
Branch point for: wrstuden-revivesa
Changes since 1.9: +1 -8 lines
Diff to previous 1.9 (colored)

Remove clause 3 and 4 from TNF licenses

Revision 1.7.2.2 / (download) - annotate - [select for diffs], Sun Mar 23 00:40:28 2008 UTC (14 years, 10 months ago) by matt
Branch: matt-armv6
Changes since 1.7.2.1: +7 -15 lines
Diff to previous 1.7.2.1 (colored) to branchpoint 1.7 (colored) next main 1.8 (colored)

sync with HEAD

Revision 1.9 / (download) - annotate - [select for diffs], Thu Feb 14 21:40:51 2008 UTC (14 years, 11 months ago) by ad
Branch: MAIN
CVS Tags: yamt-pf42-baseX, yamt-pf42-base, matt-armv6-nbase, keiichi-mipv6-base, keiichi-mipv6, hpcarm-cleanup-base
Branch point for: yamt-pf42
Changes since 1.8: +7 -15 lines
Diff to previous 1.8 (colored)

Adjust mutex/rwlock definitions to match reality now that there is only
one implementation of each. PR lib/38030.

Revision 1.7.2.1 / (download) - annotate - [select for diffs], Tue Nov 6 23:11:45 2007 UTC (15 years, 3 months ago) by matt
Branch: matt-armv6
CVS Tags: matt-armv6-prevmlocking
Changes since 1.7: +3 -3 lines
Diff to previous 1.7 (colored)

sync with HEAD

Revision 1.6.2.2 / (download) - annotate - [select for diffs], Mon Sep 10 10:54:08 2007 UTC (15 years, 4 months ago) by skrll
Branch: nick-csl-alignment
Changes since 1.6.2.1: +3 -3 lines
Diff to previous 1.6.2.1 (colored) to branchpoint 1.6 (colored) next main 1.7 (colored)

Sync with HEAD.

Revision 1.8 / (download) - annotate - [select for diffs], Fri Sep 7 14:09:28 2007 UTC (15 years, 4 months ago) by ad
Branch: MAIN
CVS Tags: nick-csl-alignment-base5, matt-armv6-base, cube-autoconf-base, cube-autoconf
Changes since 1.7: +3 -3 lines
Diff to previous 1.7 (colored)

- Don't take the mutex's spinlock (ptr_interlock) in pthread_cond_wait().
  Instead, make the deferred wakeup list a per-thread array and pass down
  the lwpid_t's that way.

- In pthread_cond_wait(), take the mutex before dealing with early wakeup.
  In this way there should never be contention on the CV's spinlock if
  the app follows POSIX rules (there should only be contention on the
  user-provided mutex).

- Add a port of the kernel's rwlocks. The rwlock's spinlock is only taken if
  there is contention. This is enabled where atomic ops are available. Right
  now that is only i386 and amd64 because I don't have other hardware to
  test with. It's trivial to add stubs for other architectures as long as
  they have compare-and-swap. When we have proper atomic ops the old rwlock
  code can be removed.

- Add a new mutex implementation that's similar to the kernel's mutexes, but
  uses compare-and-swap to maintain the waiters list, so no spinlocks are
  involved. Same caveats apply as for the rwlocks.

Revision 1.6.2.1 / (download) - annotate - [select for diffs], Wed Aug 15 13:46:53 2007 UTC (15 years, 5 months ago) by skrll
Branch: nick-csl-alignment
Changes since 1.6: +8 -7 lines
Diff to previous 1.6 (colored)

Sync with HEAD.

Revision 1.7.4.2 / (download) - annotate - [select for diffs], Sat Aug 4 13:37:51 2007 UTC (15 years, 6 months ago) by ad
Branch: matt-mips64
Changes since 1.7.4.1: +237 -0 lines
Diff to previous 1.7.4.1 (colored) to branchpoint 1.7 (colored) next main 1.8 (colored)

Some significant performance improvements, and a fix for a race with pthread
detach/join.

- Make mutex acquire spin for a short time, as done with spinlocks.
- Make the number of spins controllable with the env var PTHREAD_NSPINS.
- Reduce the amount of time that libpthread internal spinlocks are held.
- Rely more on the barrier effects of park/unpark to avoid taking spinlocks.
- Simplify the locking around pthreads and the global queues.
- Align per-thread sync data on a 128 byte boundary.
- Offset thread stacks by a small amount to try and reduce cache thrash.

Revision 1.7.4.1, Sat Aug 4 13:37:50 2007 UTC (15 years, 6 months ago) by ad
Branch: matt-mips64
Changes since 1.7: +0 -237 lines
FILE REMOVED

file pthread_types.h was added on branch matt-mips64 on 2007-08-04 13:37:51 +0000

Revision 1.7 / (download) - annotate - [select for diffs], Sat Aug 4 13:37:50 2007 UTC (15 years, 6 months ago) by ad
Branch: MAIN
CVS Tags: nick-csl-alignment-base4, nick-csl-alignment-base3, nick-csl-alignment-base2, matt-mips64-base
Branch point for: matt-mips64, matt-armv6
Changes since 1.6: +8 -7 lines
Diff to previous 1.6 (colored)

Some significant performance improvements, and a fix for a race with pthread
detach/join.

- Make mutex acquire spin for a short time, as done with spinlocks.
- Make the number of spins controllable with the env var PTHREAD_NSPINS.
- Reduce the amount of time that libpthread internal spinlocks are held.
- Rely more on the barrier effects of park/unpark to avoid taking spinlocks.
- Simplify the locking around pthreads and the global queues.
- Align per-thread sync data on a 128 byte boundary.
- Offset thread stacks by a small amount to try and reduce cache thrash.

Revision 1.6 / (download) - annotate - [select for diffs], Wed May 2 21:54:16 2007 UTC (15 years, 9 months ago) by ad
Branch: MAIN
CVS Tags: nick-csl-alignment-base, hpcarm-cleanup
Branch point for: nick-csl-alignment
Changes since 1.5: +6 -12 lines
Diff to previous 1.5 (colored)

Remove obsolete comment.

Revision 1.5 / (download) - annotate - [select for diffs], Fri Sep 26 22:48:23 2003 UTC (19 years, 4 months ago) by nathanw
Branch: MAIN
CVS Tags: wrstuden-fixsa-newbase, wrstuden-fixsa-base-1, wrstuden-fixsa-base, wrstuden-fixsa, 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, abandoned-netbsd-4-base, abandoned-netbsd-4
Changes since 1.4: +3 -4 lines
Diff to previous 1.4 (colored)

Don't include <machine/lock.h> anymore; instead, we now get
__cpu_simple_lock_t and __SIMPLELOCK_{UN,}LOCKED from <sys/types.h>.
Should prevent the massive namespace pollution by way of dragging in
many MD headers that has been observed to break stuff.

Revision 1.4 / (download) - annotate - [select for diffs], Thu Jul 17 20:51:36 2003 UTC (19 years, 6 months ago) by nathanw
Branch: MAIN
Changes since 1.3: +42 -42 lines
Diff to previous 1.3 (colored)

Prepare for inclusion in sys/types.h by ensuring that all the symbols
defined end with _t or start with _[A-Z_].

Revision 1.3 / (download) - annotate - [select for diffs], Sat Jan 25 00:47:05 2003 UTC (20 years ago) by nathanw
Branch: MAIN
Changes since 1.2: +2 -1 lines
Diff to previous 1.2 (colored)

Make pthread_barrier_wait() handle spurious wakeups from pthread__block()
by adding a generation number to the barrier structure and incrementing it
when the barrier fires.

XXX this is an ABI change for anything using barriers, but the library is
new enough and nothing in the tree uses barriers so I'm going to let it
slide. Using the private data pointer for a field that will always be present
would be excessive.

Revision 1.2 / (download) - annotate - [select for diffs], Sat Jan 18 10:34:17 2003 UTC (20 years ago) by thorpej
Branch: MAIN
Changes since 1.1: +242 -0 lines
Diff to previous 1.1 (colored)

Merge the nathanw_sa branch.

Revision 1.1.2.12 / (download) - annotate - [select for diffs], Tue Jan 7 17:25:36 2003 UTC (20 years, 1 month ago) by thorpej
Branch: nathanw_sa
CVS Tags: nathanw_sa_end
Changes since 1.1.2.11: +28 -1 lines
Diff to previous 1.1.2.11 (colored) to branchpoint 1.1 (colored) next main 1.2 (colored)

Implement the pthread_barrier API.

Revision 1.1.2.11 / (download) - annotate - [select for diffs], Mon Jan 6 19:56:19 2003 UTC (20 years, 1 month ago) by nathanw
Branch: nathanw_sa
Changes since 1.1.2.10: +14 -4 lines
Diff to previous 1.1.2.10 (colored) to branchpoint 1.1 (colored)

ABI change, while this is still on the branch: Add pointers to private
storage to major exposed data structures.
This should redudce the need for ABI changes with future expansion.

Revision 1.1.2.10 / (download) - annotate - [select for diffs], Mon Dec 30 22:24:35 2002 UTC (20 years, 1 month ago) by thorpej
Branch: nathanw_sa
Changes since 1.1.2.9: +2 -2 lines
Diff to previous 1.1.2.9 (colored) to branchpoint 1.1 (colored)

Add support for using RAS lock primitives on uniprocessors where
RAS is available.

Revision 1.1.2.9 / (download) - annotate - [select for diffs], Mon Oct 28 00:06:09 2002 UTC (20 years, 3 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.1.2.8: +36 -1 lines
Diff to previous 1.1.2.8 (colored) to branchpoint 1.1 (colored)

Implement POSIX read-write locks.

Revision 1.1.2.8 / (download) - annotate - [select for diffs], Fri Mar 1 01:23:14 2002 UTC (20 years, 11 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.1.2.7: +23 -2 lines
Diff to previous 1.1.2.7 (colored) to branchpoint 1.1 (colored)

Declare POSIX spinlock interfaces: pthread_spin_*() and pthread_spinlock_t.
Move the internal spinlock interface declarations back to the internal header.

Revision 1.1.2.7 / (download) - annotate - [select for diffs], Sun Dec 30 02:24:10 2001 UTC (21 years, 1 month ago) by nathanw
Branch: nathanw_sa
Changes since 1.1.2.6: +20 -11 lines
Diff to previous 1.1.2.6 (colored) to branchpoint 1.1 (colored)

Avoid including pthread_queue.h and thereby exposing the PTQ_* macros
to userland, by #defining a local _PTQ_HEAD, identical to PTQ_HEAD in
pthread_queue.h, and using {NULL, NULL} in place of
PTQ_HEAD_INITIALIZER.

Rename struct pt_queue_t to struct pthread_queue_t.
Rename pt_spin_t to pthread_spin_t.

Revision 1.1.2.6 / (download) - annotate - [select for diffs], Wed Aug 8 16:31:22 2001 UTC (21 years, 6 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.1.2.5: +9 -2 lines
Diff to previous 1.1.2.5 (colored) to branchpoint 1.1 (colored)

Add pthread_once and thread-specific data types.

Revision 1.1.2.5 / (download) - annotate - [select for diffs], Wed Jul 25 23:50:48 2001 UTC (21 years, 6 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.1.2.4: +20 -8 lines
Diff to previous 1.1.2.4 (colored) to branchpoint 1.1 (colored)

Standardize MAGIC/DEAD values.
Fix PTHREAD_MUTEX_INITIALIZER.
Create pthread_mutexattr_t and pthread_condattr_t types.
Creat PTHREAD_COND_INITIALIZER.

Revision 1.1.2.4 / (download) - annotate - [select for diffs], Wed Jul 25 21:24:13 2001 UTC (21 years, 6 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.1.2.3: +19 -1 lines
Diff to previous 1.1.2.3 (colored) to branchpoint 1.1 (colored)

Implement most of condition variables
(pthread_cond_timedwait() is not yet done).

Revision 1.1.2.3 / (download) - annotate - [select for diffs], Tue Jul 24 21:28:11 2001 UTC (21 years, 6 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.1.2.2: +3 -3 lines
Diff to previous 1.1.2.2 (colored) to branchpoint 1.1 (colored)

Prefix some application-visible symbols with an underscore.

Revision 1.1.2.2 / (download) - annotate - [select for diffs], Fri Jul 13 02:42:39 2001 UTC (21 years, 6 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.1.2.1: +35 -3 lines
Diff to previous 1.1.2.1 (colored) to branchpoint 1.1 (colored)

Note copyright.
Standardize RCS IDs.

Revision 1.1.2.1 / (download) - annotate - [select for diffs], Fri Jul 13 02:06:29 2001 UTC (21 years, 6 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.1: +71 -0 lines
Diff to previous 1.1 (colored)

Move some of the more internal types to another file, to improve
readability.

C sucks, or I'd take them out of the application visibility completely.

Revision 1.1, Fri Jul 13 02:06:29 2001 UTC (21 years, 6 months ago) by nathanw
Branch: MAIN
CVS Tags: nathanw_sa_before_merge
Branch point for: nathanw_sa
FILE REMOVED

file pthread_types.h was initially added on branch nathanw_sa.

This form allows you to request diff's 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.




CVSweb <webmaster@jp.NetBSD.org>