Home | History | Annotate | Download | only in libpthread
History log of /src/lib/libpthread/pthread_misc.c
RevisionDateAuthorComments
 1.19  10-Apr-2022  riastradh pthread: Nix trailing whitespace.
 1.18  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.)
 1.17  29-Jan-2020  kamil Check thread->pt_magic with PT_MAGIC promptly
 1.16  13-Jan-2020  ad Rip out some very ambitious optimisations around pthread_mutex that are
don't buy much. This stuff is hard enough to get right in the kernel let
alone userspace, and I don't trust that it's right.
 1.15  21-Mar-2013  christos branches: 1.15.30; 1.15.32;
- 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.14  12-Aug-2009  enami branches: 1.14.6; 1.14.8; 1.14.12;
Make nanosleep cancelable again.
 1.13  11-Jan-2009  christos merge christos-time_t
 1.12  29-Dec-2008  christos branches: 1.12.2;
revert previous. It was meant for the branch
 1.11  28-Dec-2008  christos adjust for time_t 64
 1.10  28-Jun-2008  ad branches: 1.10.4; 1.10.8;
Shut lint up.
 1.9  24-Jun-2008  ad pthread_kill, pthread_sigmask: return errno, not the return from the system
call. Found by VSTHlite.
 1.8  28-Apr-2008  martin branches: 1.8.2;
Remove clause 3 and 4 from TNF licenses
 1.7  10-Feb-2008  ad branches: 1.7.4;
- Remove libpthread's atomic ops.
- Remove the old spinlock-based mutex and rwlock implementations.
- Use the atomic ops from libc.
 1.6  09-Feb-2008  yamt update for _sched_{get,set}param changes. from rmind@.
 1.5  26-Jan-2008  rmind sched_setparam: fix the case when incorrect (according to the class)
in-kernel priority is used. Reported by <drochner>.

Minor fixes for scheduling calls to conform the POSIX:
- If pid is equal to zero, use the calling process;
- In case of permission problem, return EPERM instead of EACESS;
- sched_setscheduler() should return previously used policy;
- pthread_* calls should return the error code or zero;

Should fix the namespace problems (and builds of some packages):
- Move cpuset_t defintion from pset.h to sched.h;
- Remove the #include of pset.h in pthread.h;
 1.4  15-Jan-2008  rmind Implementation of processor-sets, affinity and POSIX real-time extensions.
Add schedctl(8) - a program to control scheduling of processes and threads.

Notes:
- This is supported only by SCHED_M2;
- Migration of LWP mechanism will be revisited;

Proposed on: <tech-kern>. Reviewed by: <ad>.
 1.3  13-Nov-2007  ad Mutexes:

- Play scrooge again and chop more cycles off acquire/release.
- Spin while the lock holder is running on another CPU (adaptive mutexes).
- Do non-atomic release.

Threadreg:

- Add the necessary hooks to use a thread register.
- Add the code for i386, using %gs.
- Leave i386 code disabled until xen and COMPAT_NETBSD32 have the changes.
 1.2  16-Aug-2007  ad branches: 1.2.2;
Trim fat off libpthread internal spinlock operations. Makes a mesurable
improvement across the board.
 1.1  02-Mar-2007  ad branches: 1.1.2;
Remove the PTHREAD_SA option. If M:N threads is reimplemented it's
better off done with a seperate library.
 1.1.2.1  03-Sep-2007  skrll Sync with HEAD.
 1.2.2.2  23-Mar-2008  matt sync with HEAD
 1.2.2.1  09-Jan-2008  matt sync with HEAD
 1.7.4.1  18-May-2008  yamt sync with head.
 1.8.2.1  18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.10.8.1  21-Apr-2010  matt sync to netbsd-5
 1.10.4.1  05-Sep-2009  bouyer Pull up following revision(s) (requested by enami in ticket #921):
lib/libpthread/pthread_misc.c: revision 1.14 via patch
lib/libpthread/pthread_cancelstub.c: revision 1.27 via patch
Make nanosleep cancelable again.
 1.12.2.2  29-Dec-2008  christos commit changes to the right branch.
 1.12.2.1  29-Dec-2008  christos file pthread_misc.c was added on branch christos-time_t on 2008-12-29 15:10:58 +0000
 1.14.12.1  23-Jun-2013  tls resync from head
 1.14.8.1  29-Apr-2013  riz 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
 1.14.6.1  22-May-2014  yamt 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")
 1.15.32.1  26-Jan-2020  martin Pull up following revision(s) (requested by ad in ticket #647):

lib/libpthread/pthread_rwlock.c: revision 1.37 (patch)
lib/libpthread/pthread_misc.c: revision 1.16
lib/libpthread/pthread.c: revision 1.154
lib/libpthread/pthread_int.h: revision 1.98
lib/libpthread/pthread_cond.c: revision 1.66
lib/libpthread/pthread_mutex.c: revision 1.66

Rip out some very ambitious optimisations around pthread_mutex that are
don't buy much. This stuff is hard enough to get right in the kernel let
alone userspace, and I don't trust that it's right.
 1.15.30.1  08-Apr-2020  martin Merge changes from current as of 20200406

RSS XML Feed